|
|
1
1
目的
不同的实现也具有不同的可靠性级别。听起来好像有一个浏览器在完成加载之前启动了脚本。
请记住,内联javascript的激发顺序不一定是在
|
|
|
2
6
引擎盖下:$(document).ready()) 正如您对JohnResig所期望的那样,jQuery_s方法用于确定何时准备好DOM,它使用各种优化。 例如,如果浏览器支持domcontentloaded事件(与许多非IE浏览器一样),那么它将触发该事件。但是,IE可以安全地启动,直到文档的readystate达到__complete_,这通常是以后的操作。 如果这些优化都不可用,window.onload将触发事件 来源: here |
|
|
3
3
为什么不在启动应用程序的“body”标签的末尾放置一个“script”标签呢?
“startapp”是在“head”标记之前的任何位置定义的函数。 |
|
4
1
在事件触发之前,可能不会处理内联JS,因为不同的浏览器的工作方式不同。您可以假定就绪函数将尽快启动,但不知道它何时启动。 您不应该假定就绪函数将快速启动,因此您可能需要编写内联逻辑来等待该函数运行。 在JavaScript中,对事件发生时间的假设进行编码是有风险的,就像假设要使用的属性或函数存在是有风险的一样,因此需要进行非常防御性的编码。 您可能希望将内联javascript放入函数中,并让它从就绪函数调用,或者至少翻转一些标志,让内联代码知道它现在可以安全运行。 很有可能,这会使您延迟一点点,但我希望这会带来更好的用户体验。 |