使用多个版本的jQuery,同时仍像WP Like那样使用它

时间:2014-10-04 作者:corre

我的插件中有两个JS插件。一个使用jQuery 1.7.1,另一个使用jQuery 1.9.1。

我需要让他们每个人使用不同的版本。这就是目前的情况:

Plugin php file:

wp_register_script(\'jq-1.9.1-js\', \'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js\');
wp_enqueue_script(\'jq-1.9.1-js\');
wp_register_script(\'jq-1.7.1-js\', \'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js\');
wp_enqueue_script(\'jq-1.7.1-js\');

Plugin JS file:

    var $j = jQuery.noConflict();

    $j(document).ready(function() {
    // plugin 1
    $j(\'.someClass\').plugin1({
        // options
    });
    // plugin 2
    $j(\'.someClass\').plugin2({
        // options
    });
}
我在Google上搜索了很多,看到了多个版本的解决方案,但他们没有考虑在WP中包含脚本的正确方式(使用register和enqueue)。

如何在仍然以WP方式调用脚本的情况下,为两个JS插件使用两个版本的jQuery?

谢谢

1 个回复
最合适的回答,由SO网友:corre 整理而成

我发现最好使用最新的jQuery版本(WordPress默认加载),并通过修改与最新jQuery版本不兼容的JS插件文件来处理不兼容问题。

注意:我选择此解决方案的原因是,在大多数情况下,JS插件与较新jQuery版本的不兼容性是由于在代码中使用了不推荐的方法或函数,通常用对现有函数/方法的调用来替换调用将解决此问题,并免除您包含多余的jQuery脚本。

此外,如果插件将来会更新,那么更新当前使用的插件应该没有问题,因为更新的版本可能支持最新的jQuery版本。

结束

相关推荐

在小部件开发中使用jQuery

我正在开发一个小部件,它对jQuery(幻灯片、淡出元素)有一些魔力。问题是,当我删除并替换侧栏中的小部件时,没有调用附加到小部件的jQuery脚本。即使我在表单函数中有如下内容:public function form( $instance ) { wp_register_script(\'script\', get_template_directory_uri() . \'/script.js\', array(\'jquery\'), null, true);