在初始页面加载(和用户刷新)但不是后退按钮上执行功能

时间:2013-06-21 02:14:03

标签: javascript jquery back browser-history

我想执行一个javascript(或jQuery)初始化函数 - 让我们在页面完全加载后调用它myPageInit()

以下是捕获myPageInit()应该在最初加载页面时运行 ,或者用户强制页面刷新(即按下浏览器的重新加载按钮) ,点击F5等)。 如果用户从页面跟踪链接然后点击后退按钮,它应该运行。

为避免疑问:

  • 用户导航至www.mypage.com =>加载页面后运行myPageInit()
  • 用户现在点击浏览器刷新按钮=>重新加载页面后会运行myPageInit()
  • 用户现在点击页面上的链接(例如<a href="www.cnn.com">...)。
  • 用户点击后退按钮返回www.mypage.com =&gt;显示页面后myPageInit() 运行。

到目前为止我尝试过的内容

  • $(window).load() - 我认为这曾经有用,但在现代浏览器上,当用户按下后退按钮时,这似乎会触发(请参阅this issue上的评论)

  • $(window).ready() - 这似乎也会在初始加载和后退按钮上触发。

  • 搜索SO以获取其他相关答案。我还没有找到我想要的东西。

提前致谢!

1 个答案:

答案 0 :(得分:0)

可能不完全是您需要的,但会话cookie或HTML存储标志如何?请参阅以下代码和答案:

e.g。 create session based cookie, jquery