我有一个搜索表单的页面。第一次访问页面时,我有一个jQuery(文档).ready()射击:

jQuery(document).ready(
  function () {
    jQuery("#new_search").val(Math.round(new Date().getTime() / 1000));
  }
);
.

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

原始问题仅在Firefox中,但在一些研究之后,我发现在身体上添加卸载事件,解决了:

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

现在,我被告知它在IE11中不起作用。

任何人都有任何用于获取Document.Ready函数在IE11中射击的提示?

有帮助吗?

解决方案

所以,我偶然发现了在这个答案在我的搜索中,埋在帖子的底部。

我把它给了一个镜头,它有效:

// break the bfcache (ie11 and all others likely)
jQuery(window).focus(
  function() {
    jQuery("#new_search").val(Math.round(new Date().getTime() / 1000));
  }
);
.

我让原始代码完好无损,因为在我的情况下,我只是设置一个UNIX时间戳,如果它发生多次,那就可以了。

完成答案:

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));
  }
);
.

其他提示

对于遇到此问题的其他人,这里是一个MSDN文章,记录了如何停止IE11的后退/转发缓存行为: https://msdn.microsoft.com/library/dn265017(v= vs.85).aspx https://developer.mozilla.org/en-us/docs/using_firefox_1.5_caching

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top