【问题标题】:Executing a function on initial page load (and user refreshes) but not back button在初始页面加载(和用户刷新)时执行功能,但不执行后退按钮
【发布时间】: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


【解决方案1】:

也许不完全是您需要的,但是会话 cookie 或 HTML 存储标志怎么样?查看代码和答案:

例如create session based cookie, jquery

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2018-10-28
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多