关于javascript控制js加载顺序的问题

条件(1): a.js,b.js,c.js,d.js
(2): 动态加载顺序 a.js加载完成,再加载b.js,一次类推
(3): js代码兼容IE 和FIREFOX
(4):请给出完成的JS 代码 ,我会验证代码 。哈哈
谢谢各位高人!!!
[b]问题补充:[/b]
大家不要为了分数就乱来,我明确说一下,我要严格控制JS加载顺序。

to:linpyi

document.write("");

document.write("");

你这样可以控制 a.js加载完了,再加载b.js吗 ,估计你没有实践过

to:火星
链接内容我看了,不过不是我期待的结果。
[b]问题补充:[/b]
to:black.angel

ajax是一个方案,不过ajax涉及到跨域问题,局限性太大吧
[b]问题补充:[/b]
to: linpyi

--不知道你的a.js b.js c.js中间有什么特别的联系,或者有什么值需要共享---

比如:a.js是一些公用的方法,b.js,c.js都会依赖a.js
场景之一:首先调用了c.js的方法,c.js的方法又调用a.js的方法,如果a.js没有加载完成的话,调用了c.js的方法就会找不到方法

to: black.angel 给出的在主页面中写一个递归函数
理论上是一种解决方案

to:all
有没有更合理的方案呀 期待中。。。

如果这样的话,那只能用一个比较贱的办法了。
就是在a.js,b.js,c.js的最尾部定义一个变量。例如a.js最后定义了一个 _tempA = '123123'

那么在主页面中写一个递归函数

function a(){
....... ....

if(_tempA==null&&_tempA==undefind){
// _tempA 未初始化回调a()方法
}
//直到 _tempA 定义成功,代表a.js加载完毕.....执行下面的方法
.....
}

除开这个比较贱的办法之外实在想不出有啥好办法了。。。。。

[code="java"]
在你的script里面按顺序写应该就可以了

document.write("<scri"+"pt src='scripts/a.js'></scri"+"pt>"); document.write("<scri"+"pt src='scripts/b.js'></scri"+"pt>");

至于你要怎么调用加载2个JS,有很多方法,写在onload里,或者直接写在SCRIPT里
[/code]

可以看看这里:

[url]http://www.iteye.com/topic/147810[/url]

那就同理,通过ajax访问js,然后回传JS的状态值,然后循环咯。

不过我隐约记得好像 js 中有一个 complany 的属性.... 不好意思啊,我也是拙见,如果你有好办法,记得告诉我一下。呵呵,张张见识。

我没完全实践过,不过我最近写的代码有这样用过,b.js里面含有a.js实例的对象

不知道你的a.js b.js c.js中间有什么特别的联系,或者有什么值需要共享

如果你写的JS比较大的话,建议一个变量

你可以在html设计一个JS的全局变量
var flag=false;
在a.js方法运行的最后写一个方法把flag=true;
在c.js里调用a.js里的方法前,先判断if(flag){....}else{休眠一下再运行}