页面刷新后,jQuery停止工作。

7

这是一个非常奇怪的问题,我的页面中有很多插件和自定义脚本,通常都能正常工作,但如果我尝试刷新页面,而不仅仅是点击某个链接,其中一些脚本就会停止工作,尤其是那些改变CSS属性的脚本,我的Firebug没有显示任何错误信息,可能是什么原因导致这种情况?


你尝试过清除浏览器缓存吗?所有浏览器中都出现同样的问题吗? - Christofer Eliasson
也许我的页面中有太多的jQuery,它根本无法在时间内加载所有内容?尽管我使用了ready函数。 - Linas
确保在脚本首次加载时加载所有内容,如果您的页面需要用户事件加载对象,则确保在没有任何用户事件的情况下初始化代码onLoad或ready。没有看到代码很难说。 - Control Freak
如果网站有大量外部资源,$(window).load()可能会很慢;如果我是你,我宁愿尝试使用$(document).ready()来使其工作。 - mgol
只是为了澄清一些事情: 方法$(document).ready()等待DOM准备就绪:基本上,即使某些脚本或资源尚未加载,它也不会在意。 而方法$(window).load()则等待页面的每个元素都加载完毕。这意味着图片、脚本等等。 - Alex
显示剩余3条评论
2个回答

5

原帖作者的回答:

所以问题出在我使用了 $(document).ready(),而我真正需要的是 $(window).load()


3

我知道这是一个旧问题,无论如何,我的回答可能会在同样的问题出现时帮助到其他人。不幸的是,我没有足够的声望来评论上面Trott的回答。

话虽如此,如果您使用的是jQuery 1.8或其之后的任何版本,则使用$(window).on('load', function() { ... });$(window).load()在jQuery 1.8版本以后已经被弃用,并将抛出错误jquery url.indexOf is not a function(至少在jQuery 3.4.1中)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接