动态加载javascript文件时的延迟函数调用

时间:2014-01-07 20:30:20

标签: javascript dynamic external

我正在使用查询动态加载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)的移动设备上使用不同的方法,我不想加载任何不必要的文件。

1 个答案:

答案 0 :(得分:2)

有人可能会纠正我,但我相信除了将这三个加载到以正确顺序放置的单独脚本标签中,或者加载单个js文件时,这些插件按照正确的顺序连接起来,你不能。在编程创建的元素上加载src现在以异步方式运行(在当前浏览器中无论如何我都相信),这意味着您无法确定它何时会返回,并且什么顺序。

听起来你想使用像browserify或require.js这样的东西来帮助处理你想要完成的事情。我建议查看那些项目。

相关问题