requirejs插件-domReady插件
程序员文章站
2022-06-01 12:37:35
...
RequireJS加载模块速度很快,很有可能在页面DOM Ready之前脚本已经加载完毕。需要与DOM交互的工作应等待DOM Ready。现代的浏览器通过DOMContentLoaded事件来知会。
但是,不是所有的浏览器都支持DOMContentLoaded。domReady模块实现了一个跨浏览器的方法来判定何时DOM已经ready。下载并在你的项目中如此用它:
require(['domReady'], function (domReady) {
domReady(function () {
//这个方法在DOM加载完执行
//安全的查询和操作DOM
});
});
基于DOM Ready是个常规需求,像上述API中的嵌套调用方式,理想情况下应避免。domReady模块也实现了Loader Plugin API,因此你可以使用loader plugin语法(注意domReady依赖的!前缀)来强制require()回调函数在执行之前等待DOM Ready。当用作loader plugin时,domReady会返回当前的document:
require(['domReady!'], function (doc) {
//这个方法在DOM加载完执行
//注意这里是当前document文档
});
注意: 如果document需要一段时间来加载(也许是因为页面较大,或加载了较大的js脚本阻塞了DOM计算),使用domReady作为loader plugin可能会导致RequireJS“超时”错。如果这是个问题,则考虑增加waitSeconds配置项的值,或在require()使用domReady()调用(将其当做是一个模块)。
上一篇: 魅族16s Pro确定不搭载四摄:堆摄像头数量不如拼质量
下一篇: 安装 插件,查看插件
推荐阅读