例如一個圖片,等它載入完畢,也就是請求到之後,再去執行另一個操作。
那其它資源類型呢,例如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
對應不同的值,這個時候根據需要設定你的回呼函數。這樣就完成了對於一段