2013-05-03 67 views
4

window.history.length的值在我們的項目中檢測後退按鈕是在瀏覽器上點擊非常重要。不過,我意識到window.history.length不通過50.如何解決這個問題?謝謝你的幫助。window.history.length最大值

+3

無論如何,這可能是一個瀏覽器特定的限制,我認爲它會保持最新的值,只是刪除列表中最早的值。您是專門監視計數還是內容? – Rup 2013-05-03 09:27:28

+0

您可以將歷史存儲在localStorage中? :) – 2013-05-03 09:28:02

+1

需要什麼歷史? – 2013-05-03 09:33:47

回答

1

它可以檢測透過iFrame「回到點擊的按鈕」。你可以找到答案here

+1

是的,我用過那個庫。 Thx。 – 2013-05-17 07:41:36

6

根據您是否需要在會話中保持持久性並保留用戶信息(緩存,localStorage等)的清潔,您可能需要採用不同的解決方案。

解決的辦法之一可能是做這樣的事情:

window.onpopstate = function(event) { 
    var count = parseInt(localStorage.getItem('history-changes-count'), 10); 
    localStorage.setItem('history-changes-count', ++count); 
}; 

注意onpopstate得到只有經過用戶操作調用,如果修改歷史編程這是行不通的。

更多關於這個問題:https://developer.mozilla.org/en-US/docs/DOM/window.onpopstate

+1

謝謝。它看起來乾淨的解決方案 – 2013-05-06 08:13:48

+1

這似乎是一個乾淨和簡單的解決方案。 – ricosrealm 2013-06-14 05:13:10