Jquery 执行document.ready,即使用户通过点击后退按钮进入页面

Jquery 执行document.ready,即使用户通过点击后退按钮进入页面,jquery,Jquery,我有一个带有jQuery的$(document).ready()的PHP页面,它对页面上的表单进行了一些更改。这个很好用。但是,如果我来到这个页面,然后转到另一个页面,然后从浏览器中单击“Back”并返回到这个页面,$(document).ready()函数似乎根本没有运行。这在FF和Chrome上都有发生 有没有什么方法可以让文档准备就绪执行,即使用户点击浏览器的后退按钮进入我的页面?我也遇到了同样的问题@Alfabravo的链接在这里帮助了我很多: 下面的代码对我来说已经足够好了,因为我实

我有一个带有jQuery的
$(document).ready()
的PHP页面,它对页面上的表单进行了一些更改。这个很好用。但是,如果我来到这个页面,然后转到另一个页面,然后从浏览器中单击“Back”并返回到这个页面,
$(document).ready()
函数似乎根本没有运行。这在FF和Chrome上都有发生


有没有什么方法可以让
文档准备就绪
执行,即使用户点击浏览器的后退按钮进入我的页面?

我也遇到了同样的问题@Alfabravo的链接在这里帮助了我很多:

下面的代码对我来说已经足够好了,因为我实际上需要的是在用户进入页面或通过“后退”按钮到达页面时进行一些清理:

$(window).on('pageshow', function(){
    console.info('Entered the page!');
});

如果您需要特别检测通过后退按钮到达页面的时间,而不是第一次进入页面的时间,您可能需要控制一点状态;上面的链接可能对您有所帮助。

来自未来的问候

这是一个旧的解决方案,但我在2018年发现了一个相关的解决方案

我的用例是,当按下后退按钮时,
ready
事件被触发,我的处理函数执行得很好

尽管如此,我发现我的一些页面数据仍然陈旧

我放入了一些
console.log()
s来断言所有函数实际上都被调用了

对于我的特殊情况,当加载页面时,会调用一些AJAX来从我的服务器加载一些数据。我发现,事实上,来自缓存的API的响应

当然是

我的解决方案很简单

我添加了一个新生成的时间戳

newdate().getTime()

作为AJAX调用的URL和voila的查询参数,返回的数据是新的

我希望这能为将来的人们节省我花在这件事上的时间


来自明天世界的快乐编码

可能是你的表单在两年前自动完成了,几秒钟后搜索:@Musa,即使根本没有使用表单,也会发生这种情况。如果通过点击浏览器的后退按钮来访问页面,document.ready功能基本上不会启动:(@Alfabravo谢谢!可以了:)你能把它作为一个答案发布吗?这篇文章提醒我AJAX响应的内容也可以被缓存,所以从未来开始感谢你。对于最近编辑的回答:感谢你尝试改进它,但我发现你的编辑大部分只是删除了我的幽默尝试。这是一个社交平台,我认为没有理由在回答中避免个性,只要核心内容是实用的。如果你是Futurama的粉丝,也许你会觉得更有趣。我恭敬地请你不要再编辑了。