首页 新闻 搜索 专区 学院

javascript 脚本优先级的问题

0
[已关闭问题] 关闭于 2013-01-31 16:15

<script language="javascript" type="text/javascript" src="1.js"></script>

<script language="javascript" type="text/javascript" src="2.js"></script>

 

1.js 里面有个  方法   a();

设置了 定时器 2秒后 触发 a();

1.js是外部的。我们无法改写

 

2.js 是我们自己网站上的 可以自己随意怎么写, 也定义了个a();

 

但是后面发现一个问题。如果在2秒内没有加载2.js  的话,执行的是1.js里面的a();

请教下 大神有没什么方法解决这个问题呢。

Niulx的主页 Niulx | 初学一级 | 园豆:5
提问于:2012-10-30 08:59
< >
分享
所有回答(7)
0

不同浏览器的渲染方式是不一样的,有同步有异步

田林九村 | 园豆:2367 (老鸟四级) | 2012-10-30 09:01

请教下哥们 有没解决之道吗?提点个思路

支持(0) 反对(0) Niulx | 园豆:5 (初学一级) | 2012-10-30 09:07
0

为什么要命名同样名称的方法呢?在自己的js文件中为避免重名,应该给自己的方法名加上自己唯一的前缀……

我觉得不应该讨论如何加载不同文件中的相同名称的函数,而是应该避免重名……

ms_water | 园豆:510 (小虾三级) | 2012-10-30 09:05

1.js是外部调用的。 是其他网站上的。

我故意要覆盖掉 对方的函数名  执行我想要的程序

支持(0) 反对(0) Niulx | 园豆:5 (初学一级) | 2012-10-30 09:06

@Niulx: 原来那个方法还有用么?如果没用了,可不可以试试重写方法a……

支持(0) 反对(0) ms_water | 园豆:510 (小虾三级) | 2012-10-30 09:11

@ms_water: 我用的那个方法 唯一的缺点就是   如果在定时器 触发前。 还没加载2.js 的话。触发的就是别人的那个函数

所以我是想有没办法先加载我自己这边的 然后再加载对方的那个1.js   再覆盖对方的a()

支持(0) 反对(0) Niulx | 园豆:5 (初学一级) | 2012-10-30 09:21

@Niulx: 好吧,我去研究一下能不能控制js加载的顺序……不过,我觉得还是换个思路吧……

支持(0) 反对(0) ms_water | 园豆:510 (小虾三级) | 2012-10-30 10:04
0

既然是随意写的,为何非要写一个同名的方法,转牛角尖呢

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-30 09:55
0

换一个方法名,调用新的方法名。

sunlary | 园豆:934 (小虾三级) | 2012-10-30 10:05
0

调用1.js之前重写setTimeout函数,至于怎么重写就看自己心情了

for certain | 园豆:324 (菜鸟二级) | 2012-10-30 14:52
0

加个名称空间

少年学编程 | 园豆:3 (初学一级) | 2012-11-01 12:45
0

其实你可以吧1.js放到文件结尾,这样他就会先加载2.js中的啊a()方法

转角遇到bug | 园豆:227 (菜鸟二级) | 2012-11-06 00:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册