我有一个Cisco JS库,设计用于使用JQuery 1.4.2,我在我正在开发的UI页面上使用最新的2.X版JQuery。
我正在使用上述图书馆链接中的Jabberwerx.js文件。
如果加载的JQuery是1.4但是无法使用更高版本的JQuery,那么库工作正常。如果我使用旧版本的Jquery,我的基于bootstrap的UI不起作用。我试图使用noConflict(),但后来我无法编辑非常庞大的整个库。库上有很多webservice调用和函数,因此升级它非常费力。
是否可以在此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文件中。
答案 0 :(得分:2)
当您使用不同版本的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>
答案 1 :(得分:1)
除了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库有多大帮助。