日期:2014-05-16  浏览次数:20464 次

js文件加载顺序问题
有如下的场景:
我在服务器动态输出一段JavaScript脚本给客户端,作用是分别引用两个js文件,动态生成的js脚本如下:
document.write( " <src "+ "ipt   src=a.js   type=text/javascript> </scri "+ "pt> ");
document.write( " <src "+ "ipt   src=b.js   type=text/javascript> </scri "+ "pt> ");

请问b.js是否一定在a.js文件加载之后再加载,a.js中定义的变量在b.js中是否一定能访问?

我在本地的测试环境上面的结论好像是成立的,我想知道如果a.js如果下载慢,b.js文件是否可能在a.js下载完成之前下载完,这样b.js里面访问a.js文件中定义的变量则会出错。

------解决方案--------------------
试下
document.write( " <src "+ "ipt src=b.js type=text/javascript defer> </scri "+ "pt> ");
------解决方案--------------------
按照你的写法,载入是按顺序来的!为了确保程序可用,可以在b.js的function里加判断!
------解决方案--------------------
是按顺序加载的