2012-05-14 41 views
0

我最近在幾個網站上看到了鏈接已更改window.location的href,但頁面在鏈接被單擊時不會重新加載,並且頁面仍然由它之前的數量。有誰知道這是如何完成的?在不重定向的情況下更改網址

回答

1

您正在考慮的網站可能使用新的HTML5歷史記錄API,它允許您更改後退按鈕和地址欄的行爲。這裏有一個演示:http://html5demos.com/history

請注意,最有趣的業務與超鏈接會混淆搜索引擎。確保您的網站在古代瀏覽器中可以接受(Lynx),或者在Google的Ajax Crawling Guidelines上閱讀。

1

如果你想改變在瀏覽器地址欄中的URL無需重新加載頁面,這樣做

<a href = "#" onclick="var stateObj = { foo: window.location.href };history.pushState(stateObj, "page 2", "newpage.html");">Change URL</a> 

stateObj =該堆,其中,網頁的當前狀態將被推

「page2」:此參數目前被FF忽略。

「newpage.html」:新將被顯示在地址欄中的URL

參考:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

支持:FF 4.0 +,Chrome瀏覽器8.0以上版本,Safari 5.0以上版本Opera 11.5+,iPhone 4.2.5+

相關問題