【问题标题】:How to use different version of JQuery on a JS file?如何在 JS 文件上使用不同版本的 JQuery?
【发布时间】:2016-03-03 21:36:08
【问题描述】:

我有一个 Cisco JS 库,旨在使用 JQuery 1.4.2 工作,我正在开发的 UI 页面上使用最新的 2.X 版本的 JQuery。

Cisco Library

我正在使用来自上述库链接的 Jabberwerx.js 文件。

如果加载的 JQuery 为 1.4,但无法与更高版本的 JQuery 一起使用,则该库可以正常工作。如果我使用旧版本的 Jquery,我的基于引导程序的 UI 将不起作用。我尝试使用 noConflict() 但我无法编辑整个非常庞大的库。库中有很多 web 服务调用和函数,所以升级它非常辛苦。

是否可以在这个 JS 文件上使用特定版本的 JQuery,而应用程序的其余部分可以使用最新版本的 JQuery?

图书馆上有这段代码。我们可以更改它以使其使用旧版本的 JQ 工作。

(function(window)
{   var jQuery=function(selector,context)
    {
        return new jQuery.fn.init(selector,context);
    },
    _jQuery=window.jQuery,
    _$=window.$,
}

我没有考虑在同一页面上使用不同版本的 JQuery,但我试图将一个版本的 JQuery 的使用限制为一个 JS 文件。

【问题讨论】:

标签: javascript jquery html twitter-bootstrap


【解决方案1】:

当您使用不同版本的 jquery 时,您的代码会发生冲突。所以可能会出现明显的错误。

要修复它,您需要使用$.noConflict() 传递布尔参数true

jQuery.noConflict(true);
//removes jquery itself and allows you to work with different version of jquery

例子:

<script src="jquery-version-1.0"></script>
<script>//code for v-1</script>
<script>jQuery.noConflict(true);//remove jquery</script>
<script src="jquery-version-2.0"></script><!--use another version-->
<script>//code for v-2</script>

【讨论】:

  • 这不会总是解决你的问题。您有时必须根据优先级添加 jquery。我的意思是首先包含版本2,然后是版本1。借助浏览器工具了解所有红色错误的含义(右下角)。您还可以为版本 1 分配 $ ,为版本 2 分配 $$ 等等,这也有助于减少依赖性。默认情况下,$ 采用最先加载的 jQuery 版本。
【解决方案2】:

除了Bhojendra Nepal的回答,你还可以通过以下代码查看jQuery的版本:

var jq_version = $().jquery;
    console.log(jq_version);
    /* gives the version number like 1.7.1. So may be you can write an if condition around the version number. For e.g :*/
    if(jq_version == '1.7.1'){
        //do something for ver 1.7.1
    }

Check the version of jQuery 还有更多方法。但我不确定这对您使用的 CISCO 库是否有很大帮助。

【讨论】:

  • 永远不要发布仅依赖于链接的答案。如果该页面脱机,更改等。那么答案就失效了……总是用解决问题的方法来回复答案。
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 2010-10-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多