Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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_External Script - Fatal编程技术网

jQuery只允许一个版本

jQuery只允许一个版本,jquery,external-script,Jquery,External Script,我有一个第三方脚本,其中包括jquery(这会导致事情崩溃)。我使用的是1.6版本,外部脚本使用的是旧版本 我如何才能强制只加载一个版本的jquery,而它是我在页面上的版本,而不是外部加载的版本?使用jquery.noconfig()这实际上很容易做到 var jq16=jQuery.noConflict(); var jq142=jQuery.noConflict(); 然后,您可以让函数使用$()命名空间,如下所示: (function($) { $('<button>U

我有一个第三方脚本,其中包括jquery(这会导致事情崩溃)。我使用的是1.6版本,外部脚本使用的是旧版本


我如何才能强制只加载一个版本的jquery,而它是我在页面上的版本,而不是外部加载的版本?

使用jquery.noconfig()这实际上很容易做到


var jq16=jQuery.noConflict();
var jq142=jQuery.noConflict();
然后,您可以让函数使用$()命名空间,如下所示:

 (function($) {
$('<button>Use jQuery 1.4.2</button>')
    .click(function() {
        alert('Top: ' + $(this).offset().top + '\n' +
            'jQuery: ' + $.fn.jquery);
    })
    .appendTo('body');
})(jq142);
(函数($){
$(“使用jQuery 1.4.2”)
。单击(函数(){
警报('Top:'+$(this).offset().Top+'\n'+
“jQuery:”+$.fn.jQuery);
})
.附于(“主体”);
})(jq142);
这里有一个更详细的例子和一些额外的提示

改用?
Ex:
我在HTML文档中的
中包含以下内容:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict()
jQuery16 = jQuery
</script>

这样做,我是舒尔,我的脚本将不会与使用其他/旧版本jQuery的外部设备发生冲突。

通常,在插件后包括您的版本将覆盖它们对全局名称空间所做的任何更改,包括
jQuery
$
,我不知道将较新版本的jQuery与较旧版本一起使用是否安全,因为使用jQuery 1.6可能会破坏第三方脚本中的内容。可以同时加载两个版本吗?还是只加载1.6?我只加载1.6。我只需要测试它是否会破坏第三方js。有人建议在我的脚本中使用$$以确保没有冲突,但仍然有两种负载(较慢,但可能更健壮)是的,这是我的建议。一般来说,更新jQuery是可以的,但是我看到一些异常的bug出现了。阻止脚本加载较旧版本的jquery的唯一方法是修补第三方源代码。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict()
jQuery16 = jQuery
</script>
jQuery16(document).ready(function($){


$('.textarea').text(' Hello World! ');



});