我在不同的js文件中声明全局变量,然后在不同的文件中使用它们。在开始执行之前,我需要确保所有js都已加载。我也试图使用require.js转移到模块化js。但是现在我需要一个快速的解决方案。
在$().ready()
下运行我的js代码是否安全?我想脚本标签会同步加载,因此在所有脚本加载之前DOM不会准备好。
或$(window).load()
保证所有脚本文件都已加载。
谢谢!
答案 0 :(得分:3)
如果您内联加载脚本,那么在加载这些脚本之前DOM就不会就绪,因此在加载这些资源之前,$(。。ready()函数不会触发。如果您在脚本元素中使用async
标记,那么在加载脚本资源之前,DOM可能会被归类为就绪,具体取决于脚本文件的大小。
然而,$()。ready()现在被jQuery定义为不推荐,所以请改用$(function(){})。
答案 1 :(得分:0)
$(window).on('load', function () {})
将保证加载所有资源,而不仅仅是脚本。
但为什么你需要加载所有脚本? 脚本同步执行(没有延迟,异步和延迟加载技术),如果没有加载其中一个脚本,浏览器引擎将等待它,加载后它将继续执行。为了防止这种等待浏览器引擎是主要目标客户端优化之一。例如,您可以尝试将所有脚本添加到一个文件中。