Gravtal HoverCard(Jetpack)jQuery错误

时间:2013-03-03 作者:japanworm

我已经尝试在这里搜索这个问题,并且在停用一个又一个插件时遇到了麻烦。我还是搞不清楚到底发生了什么,也许这里有人有主意了?

突然出现Javascript错误:enter image description here

这是由Jetpack的气垫卡引起的。我想,在最近的Jetpack更新中,他们更改了Javascript代码中的某些内容,而这正是导致问题的原因。

该错误仅发生在单个。php,所以我认为它与另一个脚本冲突。起初我以为它可能是Adsense,但我的侧边栏中也有Adsense代码,在那里hovercards工作正常(除非我打开了single.php)。

这里唯一的其他脚本是我很久没有更新的东西。共享按钮脚本:

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
  <ul class="social_buttons">
 <li><a href="http://twitter.com/share" class="twitter-share-button"
      data-url="<?php the_permalink(); ?>"
      data-via="zoomingjapan"
      data-text="<?php the_title(); ?>"
      data-related="zoomingjapan: Admin of Zooming Japan"
      data-count="horizontal"
data-lang="en">Tweet</a></li>
<li> <g:plusone size="medium" callback="plusone_vote"></g:plusone></li>
<li style="margin-left:-10px;">
<a href="http://www.facebook.com/sharer.php?u=<?php the_permalink(); ?>&t=<?php the_title(); ?>" target="blank"><img src="<?php bloginfo(\'template_directory\'); ?>/images/facebook-share.jpg" alt="Share this article on Facebook" /></a></li> 
<li style="margin-left:-10px;"><div class="fb-like" id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="<?php echo get_permalink(); ?>" show_faces="false" layout="button_count"></fb:like></li>
这里是我的函数。php:

function add_my_javascripts() {
    /* If this is the admin area of WordPress, don\'t do anything */
    if( is_admin() )
        return;

    /* Register all of our scripts */

    wp_register_script(\'jquerytools\', \'http://zoomingjapan.com/wp-content/themes/alltuts/js/jquery.tools.min.js\', array(\'jquery\'));
    wp_register_script(\'tab-renamer\', get_template_directory_uri() . \'/js/tab-renamer.js\', array(\'jquerytools\'));
    wp_register_script(\'jquery-ui-perso\', get_template_directory_uri() . \'/js/jquery-ui-personalized-1.5.2.packed.js\', array(\'jquery\', \'tab-renamer\'));
    wp_register_script(\'jquery.form\', get_template_directory_uri() . \'/js/jquery.form.js\', array(\'jquery\'));
    wp_register_script(\'jquery-slides\', get_template_directory_uri() . \'/js/slides.min.jquery.js\', array(\'jquery\'));
    wp_register_script(\'my-slider\', get_template_directory_uri() . \'/js/my-slider.js\', array(\'jquery\', \'jquery-slides\'));
    wp_register_script(\'tooltip\', get_template_directory_uri() . \'/js/tooltip.js\', array(\'jquerytools\'));
    wp_register_script(\'scrollable\', get_template_directory_uri() . \'/js/scrollable.js\', array(\'jquerytools\'));
    wp_register_script(\'sliding_tabs\', get_template_directory_uri() . \'/js/sliding_tabs.js\', array(\'jquerytools\'));
    wp_register_script(\'sprinkle\', get_template_directory_uri() . \'/js/sprinkle.js\', array(\'jquery\', \'jquery-ui-perso\'));
    wp_register_script(\'custom\', get_template_directory_uri() . \'/js/custom.js\', array(\'jquery\'));
    wp_register_script(\'contact-form\', get_template_directory_uri() . \'/js/contact-form.js\', array(\'jquery\', \'jquery.form\'));
    wp_register_script(\'welcome_back\', get_template_directory_uri() . \'/js/welcome_back.js\', array(\'jquery\'));


    /* Enqueue the ones that need to be enqueued */
    wp_enqueue_script(\'my-slider\');
    wp_enqueue_script(\'tooltip\');
    wp_enqueue_script(\'scrollable\');
    wp_enqueue_script(\'sliding_tabs\');
    wp_enqueue_script(\'tab-renamer\');
    wp_enqueue_script(\'sprinkle\');
    wp_enqueue_script(\'custom\');
    wp_enqueue_script(\'contact-form\');
    wp_enqueue_script(\'welcome_back\');




}
add_action(\'wp_enqueue_scripts\', \'add_my_javascripts\');
我终于找到了凶手!这是我的一个插件!我需要这个插件,所以我不会扔掉它。你能帮我解决这个问题吗?

//Подключаем jQuery
function jcp_jquery() {
    if ( comments_open() && ( is_single() || is_page() ) ) {
        wp_deregister_script(\'jquery\');
        wp_register_script(\'jquery\', ("http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"), false, \'1.6.3\');
        wp_enqueue_script(\'jquery\');
    }
}
add_action(\'wp_head\', \'jcp_jquery\', 8);
插件正在从外部源加载旧的jquery版本。我没有jquery。我的函数中的min.js。php,那么如何替换上面的代码呢?

你知道是什么导致了这个问题吗?Here\'s 我的博客供参考。

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

您正在加载jQuery 1.6.3。.on was included in jQuery 1.7 (I believe). jQuery本身高达1.9。您需要使用该库的最新版本——基本上,只需让WordPress加载自己的版本,就可以了。看起来你的大多数脚本都是从你的域中加载的,只有一个脚本是从谷歌的库中加载的。如果您继续使用旧的jQuery,那么这样做不会有什么好处,而且会有越来越多的脚本崩溃。如果你想加载以形成谷歌的库,你需要注意并保持最新,或者使用几个为你跟踪的插件之一。

编辑:

更改该回调函数以匹配以下内容:

function jcp_jquery() {
    if ( comments_open() && ( is_single() || is_page() ) ) {
        // wp_deregister_script(\'jquery\');
        // wp_register_script(\'jquery\', ("http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"), false, \'1.6.3\');
        wp_enqueue_script(\'jquery\');
    }
}
如果插件仍然有效,那么就完成了。如果插件不起作用,那么它可能依赖于旧版本的jQuery,必须重写才能与新版本的jQuery兼容。

结束

相关推荐