2012-08-24 167 views
6

使用javascript異步下載另一個javascript文件。如何檢查異步加載的腳本是否已完成javascript加載

我知道這可以通過在頁面上插入一個新的腳本標籤來完成,src屬性設置爲文件url。

我還需要在腳本完成下載時運行一些代碼。我一直在使用yepnope,他們提供了「回調」,腳本完成下載和執行時執行。

這是如何完成的?

謝謝!

回答

3

大多數JS裝載機通過注入<script>標籤的DOM,其onload事件綁定到你所提供的功能做到這一點。

yepnope使用相同的方法,你可以簡單地從它的source code觀察。函數injectJs使用doc.createElement創建DOM元素,使用setAttribute設置src和其他所需屬性,將事件綁定到提供的回調函數,最後將該元素插入到文檔中。

3

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); 
+0

感謝您的回覆。問題是我不能使用yepnope。 –

+0

@ChrisDutrow那你爲什麼要用'yepnope'標籤來標記這個問題? – jessegavin

+0

@jessegavin - 我以這種方式標記,因爲我在問題中提到了yepnope。 –

1

這可以使用jQuery做,如果u想使用它,Jquery.getScript()

結賬的鏈接是有關它的詳細信息。

相關問題