Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决jquery的多个版本之间的冲突?_Jquery - Fatal编程技术网

如何解决jquery的多个版本之间的冲突?

如何解决jquery的多个版本之间的冲突?,jquery,Jquery,我意识到,对于在一个页面上使用多个jquery版本的问题,已经有了各种各样的答案,但我还没有弄清楚如何应用它们 在我的页面上有两个.js文件——一个用于操作可折叠菜单,另一个用于thickbox gallery。当我添加gallery时,可折叠菜单停止工作。当我尝试使用下面链接中的无冲突解决方案时,菜单起作用,但画廊图像将不再加载 你知道我做错了什么吗?我是否需要向.html文件和.js文件添加内容 代码: $noConflict之前(真) var$log=$(“#log”); $log.a

我意识到,对于在一个页面上使用多个jquery版本的问题,已经有了各种各样的答案,但我还没有弄清楚如何应用它们

在我的页面上有两个.js文件——一个用于操作可折叠菜单,另一个用于thickbox gallery。当我添加gallery时,可折叠菜单停止工作。当我尝试使用下面链接中的无冲突解决方案时,菜单起作用,但画廊图像将不再加载

你知道我做错了什么吗?我是否需要向.html文件和.js文件添加内容

代码:


$noConflict之前(真)
var$log=$(“#log”);
$log.append(“第二次加载的jQuery版本($):“+$.fn.jQuery+”
”; jq16min=jQuery.noConflict(true); $log.append(“在$noConflict(true)之后)”; $log.append(“第一次加载的jQuery版本($):“+$.fn.jQuery+”
”; $log.append(“第二次加载的jQuery版本(jqlatest):“+jqlatest.fn.jQuery+”
”;
还尝试:

<script type="text/javascript" src="../../01 Main/includes/jquery-1.6.min.js"></script>
<script type="text/javascript" src="../../01 Main/includes/main.js"></script>
<script type="text/javascript">
var jQuery_1_6_min = $.noConflict(true);
</script>

<script type="text/javascript" src="../scripts/jquery-latest.js"></script>
<script type="text/javascript" src="../scripts/thickbox.js"></script>
<script type="text/javascript">
var jQuery_latest = $.noConflict(true);
</script>

var jQuery_1_6_min=$.noConflict(true);
var jQuery_latest=$.noConflict(true);

使用多个版本的jquery似乎一点也不明智,但如果必须,可以将其中一个版本分配给另一个全局变量ie 链接到第一个版本

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
window._$ = 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>

var jQuery_1_1_3=$.noConflict(true);
var jQuery_1_3_2=$.noConflict(true);

必须经历同样的事情:)

您使用的是什么版本的jQuery,您可以发布代码吗?而且我已经好几年没有真正看到使用thickbox了。如果这是旧版本的dep脚本,我会切换到其他可以使用更现代版本(>=1.8.x)的脚本。这听起来像是您使用了两个jQuery插件,它们相互冲突。jQuery.noConflict对此没有帮助。要查看发生了什么,我们需要一些代码。可能的重复:@prodigitalson,我正在使用jquery-1.6.min和jquery-latest,对于更更新的thickbox版本,您有什么建议吗?嗯,我尝试在html文件中这样做,但两个脚本都不起作用。我是否需要同时重写插件文件中的某些内容?可能还有其他问题,请在问题中发布您的代码作为更新..很好的解决方案…谢谢
(function(){
  var newscript = document.createElement('script');
     newscript.type = 'text/javascript';
     newscript.async = true;
     newscript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';
  (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(newscript);
})();
<!-- 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>