使用javascript異步下載另一個javascript文件。如何檢查異步加載的腳本是否已完成javascript加載
我知道這可以通過在頁面上插入一個新的腳本標籤來完成,src
屬性設置爲文件url。
我還需要在腳本完成下載時運行一些代碼。我一直在使用yepnope,他們提供了「回調」,腳本完成下載和執行時執行。
這是如何完成的?
謝謝!
使用javascript異步下載另一個javascript文件。如何檢查異步加載的腳本是否已完成javascript加載
我知道這可以通過在頁面上插入一個新的腳本標籤來完成,src
屬性設置爲文件url。
我還需要在腳本完成下載時運行一些代碼。我一直在使用yepnope,他們提供了「回調」,腳本完成下載和執行時執行。
這是如何完成的?
謝謝!
大多數JS裝載機通過注入<script>
標籤的DOM,其onload
事件綁定到你所提供的功能做到這一點。
yepnope
使用相同的方法,你可以簡單地從它的source code觀察。函數injectJs
使用doc.createElement
創建DOM元素,使用setAttribute
設置src
和其他所需屬性,將事件綁定到提供的回調函數,最後將該元素插入到文檔中。
yepnope.injectJs(scriptSource [, callback ] [, elemAttributes ] [, timeout ]);
直斷their website:您只需在成功的回調中運行所需的代碼就可以了。
// Example
yepnope.injectJs("jquery.js", function() {
console.log("It is finished loading and I can do whatever I need to here");
}, { charset: "utf-8" }, 5000);
這可以使用jQuery做,如果u想使用它,Jquery.getScript()
結賬的鏈接是有關它的詳細信息。
感謝您的回覆。問題是我不能使用yepnope。 –
@ChrisDutrow那你爲什麼要用'yepnope'標籤來標記這個問題? – jessegavin
@jessegavin - 我以這種方式標記,因爲我在問題中提到了yepnope。 –