我有一页带有搜索表的网页。当您第一次访问该页面时,我有一个jQuery(document).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中触发吗?
发布于 2014-06-03 19:34:48
因此,我无意中发现了this answer在我的搜索,埋在底部的帖子。
我试了一试,效果很好:
// 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));
}
);发布于 2015-07-13 18:14:12
对于遇到这个问题的其他人,这里有一篇MSDN文章,记录了如何停止IE11的后向/转发缓存行为:https://msdn.microsoft.com/library/dn265017(v=vs.85).aspx。根据这一点,添加一个在卸载之前的事件处理程序将停止它。这也适用于火狐:caching。
https://stackoverflow.com/questions/24023121
复制相似问题