概述
简介
在项目中经常会用到动态加载js, 就是使用创建标签的方式加载js, 但是因为是异步的, 我们有些需要在js加载完成后才能执行的代码就有问题, 各种setTimeout, 其实是有问题的, 在这里通过js加载的事件来判断js是否加载完毕
代码
废话不多说直接上方法
// 传入需要加载的js地址 和 回调函数
function dynamicLoadJs(url, callback) {
let head = document.getElementsByTagName('head')[0]
let script = document.createElement('script')
script.type = 'text/javascript'
script.src = url
if (typeof callback == 'function') {
script.onload = script.onreadystatechange = function () {
if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {
callback()
script.onload = script.onreadystatechange = null
}
}
}
head.appendChild(script)
}
使用示例
// 使用示例是不是很简单呢
dynamicLoadJs('//api.map.baidu.com/api?v=3.0',() => {
// TO DO
进入回调则表示js已加载完成, 可以开始处理逻辑
})
感谢您的阅读!如果文章中有任何错误,或者您有更好的理解和建议,欢迎和我联系!
最后
以上就是虚心鼠标为你收集整理的判断js是否加载完毕的全部内容,希望文章能够帮你解决判断js是否加载完毕所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。