浅析如何处理脚本冲突
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析如何处理脚本冲突
把一个预先写好的Javascript增添到网页相对而言是简单的,但是当涉及到对第二个脚本增添到同一页面上时,许多人就有些手足无措了。
第一个问题是,当操作指南指出第二个脚本应包含一些代码,而这些代码要放置的位置已经被第一个脚本的代码占据,那么这时怎样才能真正地添加第二个脚本呢?解决的方法就是把这两个脚本联合起来。
如果两个脚本都具备附加在页面机头部分的外部单元,那么只需简单地指定脚本标签,再把其中一个代码像这样附着于另一个就可以了:
< script src="script1h.js" type="text/javascript">< /script>
< script src="script2h.js" type="text/javascript">< /script>
如果你的网页自己就有代码那么只要直接把第二个脚本的代码放在< /script>tag之前。你不需要编写第二套HTML脚本标签。
如果两个脚本都有通向相同事件处理器的代码,那么只要把第二个脚本的代码放到事件处理器中,像这样跟随第一个脚本的代码就可以了:
onload="func1();func2();"
或者你也可以用另外的方式:
onload="func2();func1();"
包含在事件处理器以外的页面实体中的脚本极少引发问题,因为它们一般是在页面的不同位置上。但是如果它们彼此很接近就可能会有负面影响。
要为你的页面加入第三个或更多的脚本,只要简单遵循把代码放置与现有代码关联起来的准则就可以了。
第二个问题是,尽管第二个脚本的代码已被准确放置,但是一旦添加,这两个代码中的一个或两个都不运行。导致这种情况最可能的原因是命名冲突。有可能,第二个脚本有变量或函数,而这些变量或函数可能已在第一个脚本中使用过了。甚至,有可能出现多个变量或函数的命名冲突。
解决命名冲突最简单的方法是重命名两个脚本中的所有变量和函数,通过在所有名字的末尾添加一个数字使它们能识别各自属于哪个脚本。你可以在第一个脚本中的每个变量和函数名的末尾添加一个1,再在第二个脚本中的的每个变量和函数名末尾添加一个2。而要做到这些,你只需掌握足够的JavaScript知识,能识别代表变量和函数名的代码即可。
另一种方法则是仔细检查两个脚本中的所有代码,以便于准确识别那些变量和函数名有冲突,然后对有冲突的部分进行更改即可。
第三个问题是,当两个脚本正在尝试运行时发生冲突。如果发生这种情况,如果你想在同一页面使用这两个脚本,那么你需要改变其中一个或两个脚本的功能来解除这一冲突。