jQuery被外部插件覆盖

时间:2016-02-15 10:35:36

标签: javascript jquery

我在我的网站上使用jQuery。但是,鉴于Chrome插件可能会在全局范围($)中导入自己的jQuery版本,如何阻止他们的jQuery(来自客户端浏览器上的插件)覆盖我的jQuery(最初加载网站的那个)以及建立在其上的扩展功能。)

3 个答案:

答案 0 :(得分:0)

使用Jquery jQuery.noConflict()

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

有关详细信息,请参阅https://api.jquery.com/jquery.noconflict/

答案 1 :(得分:0)

使用以下内容。 jQuery.noConflict()解决这些问题。

<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>

然后使用您可以在需要使用jQuery引用的位置使用$j而不是jQuery$。如果页面上需要多个版本的jQuery,则可以使用相同的内容。只需使用不同的变量。

答案 2 :(得分:0)

建议查看jQuery.noConflict,你给$ / jQuery一个不同的引用 - https://api.jquery.com/jquery.noconflict/

var j = jQuery.noConflict();

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

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