在jquery中,如何区分初始页面访问和反向导航?
我有一个网页,在jquery中,如何区分初始页面访问和反向导航?,jquery,dom,Jquery,Dom,我有一个网页,page1.html,上面有jQuery脚本,包括一个$(document)处理程序,在第一次访问页面时连接页面上的事件处理程序。加载页面后,用户单击元素并导航到另一个页面。然后用户返回到初始的page1.html 我看到的是当用户返回导航时,$(文档)事件处理程序正在启动,这不是我所期望的。我天真地认为,一旦浏览器“构建”了页面,用户返回浏览,页面的构建状态仍然会存在 我希望能够区分“我正在重新访问该页面”和“我在访问其他页面后重新导航到该页面”的状态。按照惯例,jQuery是如
page1.html
,上面有jQuery脚本,包括一个$(document)
处理程序,在第一次访问页面时连接页面上的事件处理程序。加载页面后,用户单击
元素并导航到另一个页面。然后用户返回到初始的page1.html
我看到的是当用户返回导航时,$(文档)
事件处理程序正在启动,这不是我所期望的。我天真地认为,一旦浏览器“构建”了页面,用户返回浏览,页面的构建状态仍然会存在
我希望能够区分“我正在重新访问该页面”和“我在访问其他页面后重新导航到该页面”的状态。按照惯例,jQuery是如何做到这一点的?据我所知,没有真正干净的方法来做到这一点。我见过的大多数解决方案都涉及使用Javascript或隐藏表单元素设置cookie
关于Stackoverflow也有很多类似的问题,您可能想看看这个问题,例如:如果您使用HTML5,您可能会对此感兴趣:
因为基本上你需要做的是使用
窗口检查站点地址是否在浏览器历史记录中。历史记录对象(保存浏览器历史记录)可能值得一试。如果我错了,请纠正我-如果用户第一次访问某个页面,然后再也不为该用户触发该事件,你想触发该事件吗?或者你想在用户每次进入你的页面时触发它,而不是在用户返回导航时触发?@mythrazz:后者。如果用户先浏览“page1.html”然后浏览“page2.html”,然后是“new”的“page1.html”访问,我希望事件触发两次,但是如果用户先浏览“page1.html”然后浏览“back导航”,我只希望它在第一次访问page1.html时触发。谢谢指针。事实证明这是一个常见问题——不同的浏览器的行为方式不同,这取决于是否有人安装了unload()事件处理程序。咕哝