21

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

有没有办法像“真实负载”一样自动触发它?

编辑

在其中放置一个警报,警报会弹出,但是我的界面中缺少一些东西,例如缺少就绪事件的某些部分。正在调查...

编辑 2

hahahahaha 在document.ready我的click一些复选框中应该未选中。当我在此页面上“返回”时,它们被选中,因此它们变得未选中,因为我是click它们。

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

4

4 回答 4

25

快速解决此问题,请改用“onpageshow”。

window.onpageshow = function(event) {
    //do something
};
于 2016-04-26T07:30:34.850 回答
7

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

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

于 2010-09-02T15:21:09.300 回答
3

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

人们如此习惯于 onload 或 ondomready,他们忽略了这样一个事实:将您的脚本放在页面底部实际上做了同样的事情,而无需轮询并查看您的 html 是否可用。

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

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

于 2010-09-02T16:02:43.090 回答
1

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

于 2010-09-02T15:21:17.507 回答