javascript - 我可以在同一个页面上使用多个版本的 jQuery 吗?

标签 javascript jquery iframe

我正在从事的一个项目需要在客户的网页上使用 jQuery。客户将插入我们将提供的一大块代码,其中包括一些 <script><script> 中构建小部件的元素-创建<iframe> .如果他们还没有使用最新版本的 jQuery,这也将包括(很可能)一个 <script>适用于 Google 托管的 jQuery 版本。

问题是一些客户可能已经安装了旧版本的 jQuery。虽然如果它至少是一个相当新的版本,这可能会起作用,但我们的代码确实依赖于 jQuery 库中最近引入的一些功能,因此必然会出现客户的 jQuery 版本太旧的情况。我们不能要求他们升级到最新版本的 jQuery。

有什么方法可以加载更新版本的 jQuery 以仅在我们的代码上下文中使用,而不会干扰或影响客户页面上的任何代码?理想情况下,也许我们可以检查 jQuery 是否存在,检测版本,如果它太旧,然后以某种方式加载最新版本以用于我们的代码。

我想到了在 <iframe> 中加载 jQuery在客户的域中还包括我们的 <script> ,这似乎是可行的,但我希望有一种更优雅的方法来做到这一点(更不用说没有额外 <iframe> s 的性能和复杂性惩罚)。

最佳答案

是的,由于 jQuery 的无冲突模式,它是可行的。 http://blog.nemikor.com/2009/10/03/using-multiple-versions-of-jquery/

<!-- 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>

然后,您可以使用 jQuery_1_3_2('#selector').function(); 而不是 $('#selector').function();jQuery_1_1_3('#selector').function();

关于javascript - 我可以在同一个页面上使用多个版本的 jQuery 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20663463/

相关文章:

javascript - 如何使用 javascript 参数来选择 php 数组中需要的字符串?

javascript - 仅更改 Framework7 中一个 radio 的非事件颜色?

javascript - window.parent.$() 在 IE 中不起作用

javascript - 从按钮单击事件渲染 React 组件

javascript - Angular 6 中的 (keydown) 事件的多键绑定(bind)

javascript - 在 AWS lambda 函数中从 s3 分块读取 csv 文件

javascript - 检查所有输入字段是否已使用 jQuery 填写

javascript - 当其他选项卡关闭时刷新浏览器选项卡

javascript - 如何记录 Apache Cordova 应用程序中加载的 iframe 的 http 响应?

javascript - 从动态生成的 iframe 元素获取图像 url