簡體   English   中英

動態加載javascript文件時的延遲函數調用

[英]Delay function call when dynamically loading javascript files

我正在使用查詢動態加載javascript文件但是我只能假設是加載優先級問題,因為它在某些時候有效。 有沒有辦法阻止運行函數,直到加載所有文件?

相關的問題是

enquire.register("screen and (min-width: 564px)", {
    match : function() {
    loadJS('script/jquery.js');
    loadJS('script/jquery.slides.min.js');
    loadJS('script/TMSScript.js');
    }

並且加載功能是

function loadJS(url)
{
    var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.head.appendChild(script);
}

我需要運行的函數位於TMSScript.js的末尾,它調用jquery插件,因此需要加載所有3個文件才能使它工作。 如果我加載標題中的所有文件,那么函數將在正文中通過簡單的onload調用執行。

我的想法是在我的圖庫(可能是jquery mobile)的移動設備上使用不同的方法,我不想加載任何不必要的文件。

有人可能會糾正我,但我相信除了將這三個加載到以正確順序放置的單獨腳本標記中,或者加載單個js文件時,這些插件以正確的順序連接,你不能。 在編程創建的元素上加載src現在以異步方式運行(在當前的瀏覽器中反正我相信),這意味着你不確定它何時返回,以及以什么順序返回。

聽起來你想使用像browserify或require.js這樣的東西來幫助處理你想要完成的事情。 我建議查看那些項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM