为什么要动态加载:提高页面加载速度,有的一开始用不着的js不加载,等到实际用到了再加载 具体函数怎么封装:
function loadScript(url, callback) {
var script = document.createElement('script')
script.type = 'text/javascript'
//做不同浏览器兼容性处理
if (script.readyState) {
//IE浏览器
script.onreadystatechange = function () {
if (script.readyState == 'complete' || script.readyState == 'loaded') {
callback()
}
}
} else {
//safari|chrome|firefox|opera
script.onload = function () {
callback()
}
}
script.src = url //上面的监听处理函数设置完后再设置src,执行完这条语句后,资源开始下载
document.head.appendChild(script) //将脚本插入到document,若没有这一句,不会生效
}
//函数执行
loadScript('demo.js', function () {
test() //test定义再demo.js里;若直接写城test,程序报错,因为此时找不到test
})