如何在jquery中区分初始页面访问和后退导航?

时间:2013-04-23 12:44:07

标签: jquery dom

我有一个网页page1.html,上面有jQuery脚本,包括一个$(document)处理程序,当首次访问该页面时,它会在页面上连接事件处理程序。加载页面后,用户点击<a>元素并导航到另一个页面。然后,用户返回导航到最初的page1.html

我看到的是$(document)事件处理程序在用户反向导航时触发,这不是我所期望的。我天真地假设,一旦页面被浏览器“构建”,并且用户浏览,页面的构建状态仍然存在。

我希望能够区分状态“我正在重新访问该页面”与“我在访问其他页面后返回导航页面”。如何在jQuery中以惯用方式完成这项工作?

2 个答案:

答案 0 :(得分:2)

据我所知,没有真正干净的方法来做到这一点。我见过的大多数解决方案都涉及使用Javascript或隐藏的表单元素设置cookie。

Stackoverflow上有很多类似的问题,你可能想看看这个例子:https://stackoverflow.com/a/5642600/677985

答案 1 :(得分:0)

如果您使用HTML5,可能会对此感兴趣:http://html5doctor.com/history-api/

因为基本上你要做的就是检查网站的地址是否在浏览器的历史记录中,使用window.history对象(保存浏览器历史记录)可能值得一试。