Javascript Chrome应用程序是否支持script.async=false?

Javascript Chrome应用程序是否支持script.async=false?,javascript,html,asynchronous,google-chrome-app,Javascript,Html,Asynchronous,Google Chrome App,我使用以下方法将脚本附加到DOM并按顺序执行它们: function appendScript(url) { var elem = document.createElement('script'); elem.src = url; elem.async = false; document.head.appendChild(elem); } 看 它们按非顺序加载(良好): 它们执行的是非顺序(bad),从最小到最大,但各不相同。我有很多JS错误,因为事情是按照它

我使用以下方法将脚本附加到DOM并按顺序执行它们:

function appendScript(url) {
    var elem = document.createElement('script');
    elem.src = url;
    elem.async = false;
    document.head.appendChild(elem);
}

它们按非顺序加载(良好):

它们执行的是非顺序(bad),从最小到最大,但各不相同。我有很多JS错误,因为事情是按照它们应该的顺序定义的

这个简单的加载器可以在Chrome、Firefox、IE9和Safari中完美工作

但它在Chrome应用程序中不起作用

我错过什么了吗


我当前的解决方法:

var script;
function appendScript(url) {
    var elem = document.createElement('script');
    elem.src = url;
    elem.async = false;
    if(script) {
        script.onload = function() {
            document.head.appendChild(elem);
            script = null;
        };
        script = elem;
    } else {
        document.head.appendChild(elem);
        script = elem;
    }
}
这将等待脚本加载(并运行)后再开始加载下一个脚本。
缺点是加载时间,因为没有(I/O)并行性。

使用AMD模块将是强制执行适当依赖性检查的一种方法。@Tomalak,好的……AMD是如何做到的?(在Chrome应用程序中是否有效?)最终,他们使用的是Javascript,所以我应该能够复制相同的行为。