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/1566595/

相关文章:

javascript - jQuery 将文本字段的值从不同的表单复制到另一个表单的文本字段

javascript - 弹出消息框时如何让背景颜色变黑?

api - 使用 Youtube Player API 嵌入多个 iframe

security - 如何将 html 页面嵌入到 jsp 中,同时避免重复登录并将 html 单独托管到 web 应用程序?

ios - 为什么此 iFrame 在 IOS 上没有响应?

javascript - 仅当在同一表单的另一个字段中输入数据时才传递表单字段数据

javascript - 当我使用 app.use 时 Passport 总是返回 401

javascript - 为什么在使用 handlebars(javascript) 时我的样式表页面不工作?

javascript - 将复选框选中状态传递给 AJAX 脚本

javascript - HTML5 样板和关键呈现路径/延迟脚本和样式