首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在后退按钮IE11上触发IE11

在后退按钮IE11上触发IE11
EN

Stack Overflow用户
提问于 2014-06-03 19:12:27
回答 2查看 2.3K关注 0票数 2

我有一页带有搜索表的网页。当您第一次访问该页面时,我有一个jQuery(document).ready()触发:

代码语言:javascript
复制
jQuery(document).ready(
  function () {
    jQuery("#new_search").val(Math.round(new Date().getTime() / 1000));
  }
);

现在,当您提交表单,然后按后退按钮时,document.ready不会触发,它需要启动。

最初的问题只出现在Firefox中,但经过一些研究后,我发现在主体中添加卸载事件可以解决以下问题:

代码语言:javascript
复制
jQuery(window).unload(function(){});

现在,有人告诉我,它在IE11中不起作用。

有人知道如何让document.ready函数在IE11中触发吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-03 19:34:48

因此,我无意中发现了this answer在我的搜索,埋在底部的帖子。

我试了一试,效果很好:

代码语言:javascript
复制
// break the bfcache (ie11 and all others likely)
jQuery(window).focus(
  function() {
    jQuery("#new_search").val(Math.round(new Date().getTime() / 1000));
  }
);

我保留了原始代码,因为在我的例子中,我只是设置了一个unix时间戳,如果它多次发生,也是可以的。

完整答案:

代码语言:javascript
复制
jQuery(document).ready(
  function () {
    jQuery("#new_search").val(Math.round(new Date().getTime() / 1000));
  }
);

jQuery(window).unload(function(){});

jQuery(window).focus(
  function() {
    jQuery("#new_search").val(Math.round(new Date().getTime() / 1000));
  }
);
票数 3
EN

Stack Overflow用户

发布于 2015-07-13 18:14:12

对于遇到这个问题的其他人,这里有一篇MSDN文章,记录了如何停止IE11的后向/转发缓存行为:https://msdn.microsoft.com/library/dn265017(v=vs.85).aspx。根据这一点,添加一个在卸载之前的事件处理程序将停止它。这也适用于火狐:caching

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24023121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档