jQuery只允许一个版本
我有一个第三方脚本,其中包括jquery(这会导致事情崩溃)。我使用的是1.6版本,外部脚本使用的是旧版本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,而它是我在页面上的版本,而不是外部加载的版本?使用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! ');
});