我正在使用查询动态加载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)的移动设备上使用不同的方法,我不想加载任何不必要的文件。
答案 0 :(得分:2)
有人可能会纠正我,但我相信除了将这三个加载到以正确顺序放置的单独脚本标签中,或者加载单个js文件时,这些插件按照正确的顺序连接起来,你不能。在编程创建的元素上加载src
现在以异步方式运行(在当前浏览器中无论如何我都相信),这意味着您无法确定它何时会返回,并且什么顺序。
听起来你想使用像browserify或require.js这样的东西来帮助处理你想要完成的事情。我建议查看那些项目。