如果您在页面中包含 2 个版本的 jQuery,您如何将

If you include 2 version of jQuery in a page how do you restrict a plugin to just one of them?(如果您在页面中包含 2 个版本的 jQuery,您如何将插件限制为其中一个?)
本文介绍了如果您在页面中包含 2 个版本的 jQuery,您如何将插件限制为其中一个?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以这个问题并不像一开始听起来那么疯狂.我正在开发一段 javascript 代码以放入我的客户页面.我担心的是他们是否在他们的网站上使用了另一个版本的 jQuery.

So this question isn't as crazy as it might sound at first. I'm developing a piece of javascript code to drop into my client's pages. What I'm worried about is if they are using another version of jQuery on their site.

我从 Jquery docs 知道这样的东西应该可以工作.

I know from the Jquery docs that something like this should work.

var dom = {};
dom.query = jQuery.noConflict(true);

问题是我也在使用一些 jquery 插件,即 fancybox 和 鼠标滚轮.那么如何确保我的 jQuery 版本是唯一可以使用这些插件的版本.如果我们的一位客户碰巧在他们的页面中使用相同的但不同的版本,我不希望发生冲突.

The problem is I am also using some jquery plugins, namely fancybox and mousewheel. So how can I make sure my version of jQuery is the only one that can use those plugins. I don't want a conflict to happen if one of our clients happens to use the same ones in their pages but different versions.

我现在能想到的唯一确定的方法是修改插件,使它们只调用 dom.query

The only definite way I can think of right now is to modify the plugins so they only call dom.query

推荐答案

你可以使用一个技巧.如果您的 jQuery 版本是第二个加载的版本,您需要在加载它之前先移动到安全的版本,就像这样

There is a trick you could use. If your version of jQuery is second which loads, you will need first move to safety theirs version before you load it, something like this

<script type="text/javascript">
    (function($){
       var theirs_jquery = $;
    })(jQuery);
</script>

然后添加你的 jQuery 版本脚本包含标签

Then add your jQuery version script include tag

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

然后添加另一个脚本块,如下所示

then add another script block with folowing

<script type="text/javascript">
(function(){
    var $$ = jQuery; // this is your shortcut
    var $ = theirs_jquery; // put back their version
})(jQuery);
</script>

在此之后,您可以使用 $$ 快捷方式访问您的 jquery 版本

after this you can access your jquery version with $$ shortcut

这篇关于如果您在页面中包含 2 个版本的 jQuery,您如何将插件限制为其中一个?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)