Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中,如何区分初始页面访问和反向导航?_Jquery_Dom - Fatal编程技术网

在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()事件处理程序。咕哝