2013-08-30 27 views
2

根據StackOverflow與location.replace(URL)許多答案你可以重定向你的用戶,同時保持在後退按鈕的歷史頁面。JavaScript重定向,打破回按鈕

我想做相反的事情,所以我使用location.href = URL但我仍然遇到後退按鈕的正確工作:爲什麼?

此外,在Chrome和IE10中使用location.replace()似乎也保留了後退按鈕。請注意,我並沒有使用location.replace("http://...")重定向,而是使用location.replace("/page.html")

我想將用戶從頁面重定向到配置嚮導,而在嚮導內用戶不應該能夠在頁面之間來回切換:相反,按「返回」應該將其重定向到嚮導之外的原始頁面。

一個解決方案是通過AJAX加載嚮導的頁面,並用.html()注入。我們已經以這種方式開發了大部分的Web應用程序頁面,但對於這個特定的部分,AJAX解決方案已被服務器端開發人員忽略了(請看圖!)。

我該怎麼辦?

回答

5

你已經得到了他們的南轅北轍。 location.replace替換瀏覽器歷史記錄中的當前頁面。 location.href前進到頁面。

看這裏......

https://developer.mozilla.org/en-US/docs/Web/API/window.location

+0

我可以在IE8做些什麼location.replace - 它是工作壓力太大?感謝您的幫助,現在就進行測試! :) – Saturnix

+0

是的,它總是這樣,所以你可以放心它與所有舊版瀏覽器兼容(運行JS) – Archer

+0

location.replace()不會破壞Chrome中的後退按鈕。我仍然可以回去... – Saturnix