document.ready什么时候运行,什么时候内联JS被处理?

psy*_*tik 1 javascript jquery javascript-events

我有一个页面,我在该<head>部分导入我的大部分js .但是,主页面有一些内联javascript.

在我导入的一个脚本中<head>,我$(document).ready...使用了一些内联在页面上定义的JS变量.据我所知,这正如我所期望的那样 - $(document).ready使用内联定义的JS变量不会遇到任何错误.

但是,我从用户那里得到了一些报告,他们在我的代码中看到了"未定义"错误$(document).ready,我引用了页面内联定义的变量.

我怀疑这是浏览器特定的行为,但我不确定.我没有在文档中明确地发现这一点,所以有人可以确认$(document).ready在JS中从一个页面中使用内联定义的变量是可以的<head>吗?

引用您的来源会使您的答案更可信.:)

谢谢!

Gab*_*abe 6

引擎盖下:$(document).ready()

正如您对John Resig所期望的那样,jQuery用于确定DOM何时就绪的方法使用了各种各样的优化.

例如,如果浏览器支持DOMContentLoaded事件(就像许多非IE浏览器那样),那么它将触发该事件.但是,在文档的readyState达到"完成"之前,IE无法安全地触发,这通常是后来的.

如果这些优化都不可用,window.onload将触发该事件

来源:这里