Javascript jQuery被外部插件覆盖

Javascript jQuery被外部插件覆盖,javascript,jquery,Javascript,Jquery,我在我的网站上使用jQuery。然而,考虑到Chrome插件可能会在全局范围($)中导入there own的jQuery版本,我如何防止他们的jQuery(来自客户端浏览器上的插件)覆盖我的jQuery(最初与网站一起加载的jQuery以及构建在其上的扩展功能)。使用jQueryjQuery.noConflict() $.noConflict(); jQuery(文档).ready(函数($){ //使用jQuery的$的代码如下所示。 }); //使用其他库的$的代码可以在这里找到。 有关

我在我的网站上使用jQuery。然而,考虑到Chrome插件可能会在全局范围($)中导入there own的jQuery版本,我如何防止他们的jQuery(来自客户端浏览器上的插件)覆盖我的jQuery(最初与网站一起加载的jQuery以及构建在其上的扩展功能)。

使用jQuery
jQuery.noConflict()


$.noConflict();
jQuery(文档).ready(函数($){
//使用jQuery的$的代码如下所示。
});
//使用其他库的$的代码可以在这里找到。
有关更多详细信息,请参阅以下内容。为了解决这些情况

<script src="jquery.js"></script>
<script>
    var $j = jQuery.noConflict();
    // Code that uses other library's $ can follow here.
</script>
<script src="other_lib.js"></script>
<script>
    $j(document).ready(function(){
        //your code
    })
</script>

var$j=jQuery.noConflict();
//使用其他库的$的代码可以在这里找到。
$j(文档).ready(函数(){
//你的代码
})

然后使用您可以在需要使用jQuery引用的地方使用
$j
而不是
jQuery
$
。如果页面上需要多个版本的jQuery,也可以使用相同的方法。只是使用不同的变量

建议查看jQuery.noConflict,您可以给$/jQuery一个不同的引用-


请参考这一点,但不是反过来说没有冲突吗?我可以使用noConflict放弃使用$。也就是说chrome插件可以继续使用它。但是,如果我有一个庞大的代码库,其中包含大量对$的引用,该怎么办?应该是chrome插件jquery放弃了控制权?@Rahul,对。我想说的是,一个迫使你加载的所有页面都使用
$.noConflict()
的Chrome扩展已经无法补救了。我将jquery称为jquery或$以外的东西,这更像是一种防止插件覆盖jquery的黑客权利?但是考虑到插件的数量,这不是一个强制性的标准吗?
<script src="jquery.js"></script>
<script>
    var $j = jQuery.noConflict();
    // Code that uses other library's $ can follow here.
</script>
<script src="other_lib.js"></script>
<script>
    $j(document).ready(function(){
        //your code
    })
</script>
var j = jQuery.noConflict();

j( "div p" ).hide();

// Do something with another library's $()
$( "content" ).style.display = "none";