2011-04-20 30 views
0

這個問題以前已經問過,但我需要更多的跨瀏覽器*選項而不是git-hub。沒有頁面刷新的Javascript'重定向'

反正是有改變:

http://stackoverflow.com/test#hey 

到:

http://stackoverflow.com/test 
使用JavaScript

無需重新加載頁面? (再次命中服務器)

*通過 '更多的跨瀏覽器的' 我的意思是IE7 + FF3.5 +,IE6不,等等

+0

目的是什麼?在功能上應該沒有區別,對吧? – Gareth 2011-04-20 11:09:54

+2

你的問題不是很清楚,因爲你不是說你想要做什麼。第一個URL將強制瀏覽器滾動到頁面中的錨點,第二個URL將「擊中」服務器並請求資源。沒有辦法改變網址來顯示你想要的內容,而無需實際強制瀏覽器對URL做某些事情。 – 2011-04-20 11:10:24

+1

什麼是「git-hub one」? – 2011-04-20 11:12:51

回答

2

您可以使用history.pushState()這一點。

這將刪除哈希:

history.replaceState({}, '', location.href.split('#')[0]); 

對於跨瀏覽器兼容,你可以使用history.js作爲填充工具。

+0

完美。謝謝 !!! – DaisyK 2011-04-20 11:31:33

+0

@Daisy:依然依賴於瀏覽器:您需要FF4或更新的Chrome或Safari瀏覽器。其他一切都不支持'history.pushState/replaceState'。 – 2011-04-20 11:58:14

+0

@Marcel:因此polyfill;) – 2011-04-20 12:02:13