例如一個圖片,等它載入完畢,也就是請求到之後,再去執行另一個操作。
那其它資源類型呢,例如swf是否載入完,是否是同樣的方法?
或是一個http請求又是如何監控呢?
欢迎选择我的课程,让我们一起见证您的进步~~
瀏覽器去載入這些資源或是非同步去發http请求的话,一般都会提供钩子函数。
http
钩子函数
例如,你非同步去取得js程式碼:
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對應不同的值,這個時候根據需要設定你的回呼函數。這樣就完成了對於一段
script
onload/onreadystatechange
DOM
this.readyState
onload事件或readystatechange事件,但不是所有物件都支援。另外promise應該也能吧
http://stackoverflow.com/ques...
可以考慮ajax或fetch API
瀏覽器去載入這些資源或是非同步去發
http
请求的话,一般都会提供钩子函数
。例如,你非同步去取得
js
程式碼:你建立的
程式碼非同步取得的監控。 🎜script
物件上提供了載入的鉤子函數:onload/onreadystatechange
(瀏覽器的相容性處理),當你把script
標籤插入DOM
時,瀏覽器會另開一個執行緒去非同步載入你需要的script
对象上提供了加载的钩子函数:onload/onreadystatechange
(浏览器的兼容性处理),当你把script
标签插入到DOM
中时,浏览器另开一个线程去异步加载你需要的js
资源,在加载的不同阶段:this.readyState
对应不同的值,这个时候根据需要设置你的回调函数。这样就完成了对于一段js
資源,在載入的不同階段:this.readyState
對應不同的值,這個時候根據需要設定你的回呼函數。這樣就完成了對於一段onload事件或readystatechange事件,但不是所有物件都支援。另外promise應該也能吧
http://stackoverflow.com/ques...
雷雷可以考慮ajax或fetch API