2013-05-03 39 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