Javascript-如果您在页面中包含jQuery的2个版本,如何将插件限制为其中一个?
作者:互联网
因此,这个问题并不像最初听起来那样疯狂.我正在开发一段JavaScript代码,以放入客户的页面.我担心的是,他们是否在自己的网站上使用其他版本的jQuery.
我从Jquery docs知道这样的事情应该起作用.
var dom = {};
dom.query = jQuery.noConflict(true);
问题是我也在使用一些jquery插件,分别是fancybox和mousewheel.因此,如何确定我的jQuery版本是唯一可以使用这些插件的版本.如果我们的一位客户碰巧在其页面中使用相同的页面但使用不同的版本,我不希望发生冲突.
我现在可以想到的唯一确定的方法是修改插件,以便它们仅调用dom.query
解决方法:
您可以使用一个技巧.如果要加载的是第二个jQuery版本,则在加载它之前,您需要先移至安全版本.
<script type="text/javascript">
(function($){
var theirs_jquery = $;
})(jQuery);
</script>
然后添加您的jQuery版本脚本include标签
<script src="link/to/my/jquery.js"></script>
<!-- add your plugins -->
<script src="link/to/my/jquery/plugins/plugin1.js"></script>
<script src="link/to/my/jquery/plugins/plugin2.js"></script>
然后添加以下脚本块
<script type="text/javascript">
(function(){
var $$= jQuery; // this is your shortcut
var $= theirs_jquery; // put back their version
})(jQuery);
</script>
之后,您可以使用$$快捷方式访问您的jquery版本
标签:fancybox,jquery-plugins,javascript,jquery 来源: https://codeday.me/bug/20191208/2093342.html