JavaScript可以在同一页面上使用多个版本的jQuery吗?
我正在从事的项目需要在客户的网页上使用jQuery。客户将插入我们将提供的代码块,其中包括一些<script>
在<script>
-created
中构建窗口小部件的元素<iframe>
。如果他们还没有使用最新版本的jQuery,则还可能(最有可能)包含<script>
Google托管版本的jQuery。
问题在于某些客户可能已经安装了旧版本的jQuery。尽管如果它至少是一个相当新的版本可能会起作用,但是我们的代码确实依赖jQuery库中最近引入的一些功能,因此,在某些情况下,客户的jQuery版本太旧了。我们不能要求它们升级到最新版本的jQuery。
有没有办法加载新版本的jQuery以仅在我们代码的上下文中使用,而不会干扰或影响客户页面上的任何代码?理想情况下,也许我们可以检查jQuery的存在,检测版本,如果版本太旧,则以某种方式加载最新版本以用于我们的代码。
我本来打算将jQuery加载<iframe>
到包含我们的的客户域中<script>
,这似乎是可行的,但我希望有一种更优雅的方法(更不用说不存在性能和复杂性方面的损失)额外<iframe>
的)。
回答:
是的,由于jQuery的noconflict模式.
<!-- load jQuery 1.1.3 --><script type="text/javascript" src="http://example.com/jquery-1.1.3.js"></script>
<script type="text/javascript">
var jQuery_1_1_3 = $.noConflict(true);
</script>
<!-- load jQuery 1.3.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.3.2.js"></script>
<script type="text/javascript">
var jQuery_1_3_2 = $.noConflict(true);
</script>
然后,$('#selector').function();
您可以代替jQuery_1_3_2('#selector').function();
或jQuery_1_1_3('#selector').function();
。
以上是 JavaScript可以在同一页面上使用多个版本的jQuery吗? 的全部内容, 来源链接: utcz.com/qa/410416.html