【问题标题】:jquery plugins working with different jquery versions使用不同 jquery 版本的 jquery 插件
【发布时间】:2023-03-09 11:24:02
【问题描述】:

我在我的网站“1.7.1”“1.5.2”和“1.3.2”上使用了 3 个不同版本的 jQuery 插件。在我的主页上获得了前 2 个并且它们工作得很好,但是当我进入一个使用第三个的站点时,基于 1.7.1 和 1.5.2 的插件停止工作。

我确实尝试添加 jq132 = jQuery.noConflict(true);脚本,然后将第三个应用程序中的每个 $ 切换到 jq132,但这似乎不起作用。有什么建议吗?

编辑:我设法删掉了 1.5.2 和 1.3.2 版本,感谢提示

【问题讨论】:

  • 这里有一个提示:使用一个版本的 jquery。
  • 只是好奇:为什么同一页面上有 3 个不同版本的 jQuery?
  • 因为我有 3 个 js 应用程序使用不同版本的 jQuery,在这种情况下我怎么能只使用一个版本?
  • @Ates Goral,是的,我想当我去加油站加油时,我会使用 87 的一点,89 的一点,最后再加上一些 92。
  • 使用最新版本。它向后兼容。最好还是升级你的 js 插件。在这里,我们希望包含尽可能少的代码以加快速度,并且您正在使用 3 个不同版本的 jquery。足迹将是巨大的

标签: javascript jquery multiple-versions


【解决方案1】:

如果您真的需要所有三个版本(您真的不,顺便说一句)。

(function( window, undefined ) {

// Use the correct document accordingly with window argument (sandbox)
var document = window.document,
    navigator = window.navigator,
    location = window.location;

var jQuery132 = (function() {

// Define a local copy of jQuery
var jQuery = function( selector, context ) {

然后在你的 $(document).ready() 中:

jQuery132(document).ready(function($132) {
   // code goes here
});

对于您的 1.3.2 版本,您的 $ 将被替换为 $132,依此类推。

顺便说一句,这是一个非常糟糕的主意。

【讨论】:

    【解决方案2】:

    您可能做错的事情是在包含 jQuery 版本之后没有立即调用 $.noConflict。在每个 jQuery 包含标签之后,对于该版本的 jQuery,需要有带有 $.noConflict 的 <script> 标签。

    见:Can I use multiple versions of jQuery on the same page?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-13
      相关资源
      最近更新 更多