比如一个图片,等它加载完毕,也就是请求到之后,再去执行另一个操作。
那其它资源类型呢,比如swf是否加载完,是否是同样的方法?
或者一个http请求又是如何监控呢?
PHP中文网2017-05-18 10:59:54
浏览器去加载这些资源或者是异步去发http
请求的话,一般都会提供钩子函数
。
例如,你异步去获取js
代码:
const script = document.createElement('script')
script.src = 'xxxx'
script.onload = script.onreadystatechange = function () {
if (!this.readyState || /^(loaded|complete)$/.test(this.readyState)) {
resolve(window[namespace][name])
sc.onload = sc.onreadystatechange = null
}
}
document.body.append(script)
你创建的script
对象上提供了加载的钩子函数:onload/onreadystatechange
(浏览器的兼容性处理),当你把script
标签插入到DOM
中时,浏览器另开一个线程去异步加载你需要的script
对象上提供了加载的钩子函数:onload/onreadystatechange
(浏览器的兼容性处理),当你把script
标签插入到DOM
中时,浏览器另开一个线程去异步加载你需要的js
资源,在加载的不同阶段:this.readyState
对应不同的值,这个时候根据需要设置你的回调函数。这样就完成了对于一段js
资源,在加载的不同阶段:this.readyState
对应不同的值,这个时候根据需要设置你的回调函数。这样就完成了对于一段