JS 脚本延迟加载的方式有哪些?
题干
- 脚本延迟加载
题解
将
script脚本放到页面底部加载。使用
defer属性:将script标签的defer属性设置为true,可以让浏览器在HTML文档解析完成后再加载JS文件,不会阻止页面的渲染。使用
async属性:将script标签的async属性设置为 true,可以让浏览器在HTML文档解析过程中异步加载JS文件,不会阻止页面的渲染。但是,异步加载的脚本并不能保证加载顺序,可能会导致一些依赖关系的问题。使用模块化加载器:使用像
RequireJS或者SystemJS这样的模块化加载器,可以将JS文件按需加载,并且保证依赖关系的正确性。动态创建
script标签:通过JS动态创建script标签,并将其插入到HTML文档中,可以实现按需加载JS文件。使用
setTimeout或requestAnimationFrame函数,将脚本的加载和执行放在一个定时器或动画帧的回调函数中,这样可以延迟一定的时间后再执行脚本。使用
onload或document.onDOMContentLoaded方法,监听页面资源加载完成后加载和执行脚本。使用
IntersectionObserver API,创建一个观察器对象,用来监视一个目标元素是否进入视口,当目标元素可见时,触发一个回调函数,加载和执行脚本。
相关
setTimeout、setInterval、requestAnimationFrame 各有什么特点
window.onload 和 document.onDOMContentLoaded 有什么区别

