我的几个页面同时使用了JQuery和Prototype。自从我升级到JQuery的1.3版本后,出现了问题,因为这两个库都定义了一个名为“$”的函数。
JQuery提供了一个名为noConflict()的函数,可以将对$的控制权交给可能正在使用它的其他库。因此,我似乎需要检查所有类似于下面这样的页面:
<head>
<script type="text/javascript" src="/obp/js/prototype.js"></script>
<script type="text/javascript" src="/obp/js/jquery.js"></script>
</head>
并将它们更改为以下样式:
<head>
<script type="text/javascript" src="/obp/js/prototype.js"></script>
<script type="text/javascript" src="/obp/js/jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
var $j = jQuery;
</script>
</head>
我应该能够在Prototype中使用“$”,在JQuery中使用“$j”(或“jQuery”)。但我不太满意在每个相关页面中重复这两行代码,并且预计某个时候有人很可能会忘记将它们添加到新页面中。我希望能够执行以下操作:
- 创建文件
jquery-noconflict.js
,其中“包含”jquery.js
和上面显示的2行代码 - 在所有我的JSP / HTML页面中导入
jquery-noconflict.js
(而不是jquery.js
)
但是,我不确定是否可以以我描述的方式在一个JS文件中包含另一个JS文件?当然,另一种解决方案是直接在jquery.js中添加上述2行代码,但如果我这样做,每次升级JQuery时都需要记得这样做。