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

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

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

谢谢!

编辑

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

编辑2

hahahahaha in document.ready我click一些应该取消选中的复选框。 当我在这个页面上“退回”时,它们会被检查,因此它们会被取消选中,因为我会click它们。

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

这个问题的快速解决方案,使用“onpageshow”代替。

 window.onpageshow = function(event) { //do something }; 

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

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

1.)将脚本放在页面底部。
2.)在你上一个脚本标签中执行插件和诸如此类的东西。
3.)根本不要使用onDomReady实现,这是多余的。

人们习惯于onload或ondomready,他们忽略了这样一个事实:将脚本放在页面底部几乎完全相同,无需轮询并查看您的html是否可用。

此外,这也是一种很好的做法,因为您的脚本也不会阻止html / css渲染。

不依赖onDomReady或onLoad实现解决了很多问题。

非常有趣的问题。 当页面获得焦点或类似的东西时,您可能需要重新触发事件/function。 您可能还需要保留一个标志变量来跟踪“事件重新触发”是否有序。