在我的网站上使用两个版本的jquery

时间:2014-10-08 09:44:09

标签: javascript jquery wordpress jquery-migrate

我正在一个关于wordpress的网站上工作。

我在主页上使用了一个jquery滑块,使用了roundabout jquery滑块。这个jquery插件只适用于jquery 1.2.1。 它运行正常,因为我在我的网站上添加了一个迁移脚本。

// Load jQuery
//////////////////////////////////////////////////////////////
add_action('wp_enqueue_scripts', 'my_scripts_method', 200);
function my_scripts_method() {
wp_deregister_script('jquery');
//wp_register_script('jquery', ("http://code.jquery.com/jquery-latest.min.js"), false);
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"), false);
wp_enqueue_script('jquery');
wp_register_script('migrate', ('http://code.jquery.com/jquery-migrate-1.2.1.js'), false);
wp_enqueue_script('migrate');
}

现在我有一个问题,因为负责内容的人添加了一个插件,这个插件使用了最后一个jquery版本,当插件被激活时,我认为该插件会覆盖我的迁移脚本,我有麻烦用我的滑块。

有没有办法在我的网站上使用2个不同版本的jquery?我的滑块只使用jquery 1.2.1,我网站的其余部分使用最后一个jquery版本?或者避免新插件覆盖我的迁移脚本?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

当然,在jQuery的网站上有一个如何做到这一点的例子:

http://api.jquery.com/jquery.noconflict/

查看页面底部,其中加载了两个不同的版本。您将要将jQuery对象分配给不同的标识符,然后更改代码以使用该新标识符。

您也可以在IIFE中执行此操作,如页面上列出的示例(也在下面):

jQuery.noConflict();
(function( $ ) {
  $(function() {
    // More code using $ as alias to jQuery
  });
})(jQuery);

但我怀疑为了您的目的,加载两个单独的实体并单独使用它们会更容易。