history.back(); 不会触发$(document).ready();

Sir*_*ber 18 javascript jquery javascript-events browser-history

我有一个$(document).ready()用于构建界面的网页.然后用户可以转到子页面,并返回到原始页面,他可以按下浏览器的"上一个"按钮或页面中的"返回"按钮,触发一个history.back();.返回原始页面,$(document).ready()未触发,因此页面缺少信息.

有没有办法自动触发它,就好像它是一个"真正的负载"?

谢谢!

编辑

在其中发出警报,警报已加速,但我的界面中缺少东西,就好像缺少一些准备事件的部分一样.调查...

编辑2

hahahahaha in document.ready我click有些复选框应该是未经检查的.当我在这个页面上"退回"时,它们会被检查,因此我们会对它们进行检查click.

对不起,这完全是我的坏事:(

sto*_*yau 16

这个问题的快速解决方案,使用"onpageshow"代替.

window.onpageshow = function(event) {
    //do something
};
Run Code Online (Sandbox Code Playgroud)


Pau*_*tos 7

如果用户使用Back按钮进行导航并且您需要完全重新加载页面,则可以设置NO-CACHE页面的策略.

这样,即使使用Back按钮,浏览器也必须从服务器重新加载页面.

  • 取决于您的浏览器 - 谷歌浏览器无法正确处理它. (2认同)