条件(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
你这样可以控制 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里面按顺序写应该就可以了
至于你要怎么调用加载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{休眠一下再运行}