2017-08-24 73 views
0

當用戶在我的主頁example.com上時,他從我的頁眉的下拉菜單中手動選擇一個國家/地區,網址爲example.com/usa,我想要example.com/usa在地址欄中沒有example.com更改爲example.com/usa的情況下在相同的選項卡上打開。在同一個標​​簽上加載另一個頁面,在地址欄上保留上一個網址

這樣做的網站的示例是okayafrica.com。當您從主頁選擇加拿大版本[該版本的網址爲okayafrica.com/country/canada]時,它將重新加載到同一個選項卡上並顯示加拿大版,地址欄將爲okayafrica.com

有沒有一種方法,我可以用Javascript來實現這一點?

+0

使用便接踵而來jQuery腳本:'$( 「HTML」)負載(NEWURL)' – diavolic

+0

聽說過路由? –

+0

@diavolic你可以幫助一個詳細的代碼答案。我對JavaScript一無所知。 :( – bobozar

回答

0

假設你使用jQuery,下面的代碼應該足夠了。

$("button").click(function(){// any event you can bind on which you want to load new page. 
    $("html").load("usa", function(responseTxt, statusTxt, xhr){ 
     if(statusTxt == "success") 
      alert("External content loaded successfully!"); 
     if(statusTxt == "error") 
      alert("Error: " + xhr.status + ": " + xhr.statusText); 
    }); 
}); 

下面是完整的示例HTML代碼以上說明。

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
     $("html").load("usa", function(responseTxt, statusTxt, xhr){ 
      if(statusTxt == "success") 
       alert("External content loaded successfully!"); 
      if(statusTxt == "error") 
       alert("Error: " + xhr.status + ": " + xhr.statusText); 
     }); 
    }); 
}); 
</script> 
</head> 
<body> 

<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> 

<button>Get External Content</button> 

</body> 
</html> 
+0

你可以用html代碼解釋一下嗎?現在,'button'是class或id嗎? demo_test.xt是需要加載的頁面的url嗎? – bobozar

+0

已更新我的代碼,$(「html」)。load(「url」,url是相對於當前頁面的相對url。是url –

+0

當我在load()中插入'quick.html'時,它的工作原理就是它沒有像在地址欄中加載quick.html時那樣正確顯示頁面,但是當我在lo中輸入'example.com' ad()函數,它會彈出錯誤0.它沒有加載url。我將處理url而不是頁面名稱。有沒有解決這個問題? :) – bobozar

相關問題