【发布时间】:2013-06-18 01:58:25
【问题描述】:
我想在页面完全加载后执行一个 javascript(或 jQuery)初始化函数——我们称之为myPageInit()。
这里是关键:myPageInit() 应该仅在页面初始加载或用户强制刷新页面(即按下浏览器的重新加载按钮,点击F5 等)。
如果用户点击页面中的链接然后点击后退按钮,它应该不运行。
为免生疑问:
- 用户导航到
www.mypage.com=>myPageInit()在页面加载后运行。 - 用户现在点击浏览器刷新按钮 =>
myPageInit()在页面重新加载后运行。 - 用户现在点击页面上的链接(例如
<a href="www.cnn.com">...)。 - 用户单击返回按钮返回到
www.mypage.com=>myPageInit()在页面显示后不运行。
到目前为止我已经尝试过什么
$(window).load()-- 我认为这曾经可以工作,但在现代浏览器上,当用户按下后退按钮时,这似乎会触发(请参阅this issue 上的 cmets)$(window).ready()-- 这似乎也会在初始加载和返回按钮上触发。搜索 SO 以获取其他相关答案。我还没有找到我要找的东西。
提前致谢!
【问题讨论】:
-
this question 你在找什么吗?
-
感谢您的快速回复!不幸的是,它似乎没有解决问题。接受的答案提供了一个哈希标记更改事件库,它不解决初始页面加载触发器,并且 OP 的 cmets 指出了我试图摆脱的行为(即 onready 在后退按钮上触发)。
标签: javascript jquery back browser-history