使用本地回退加载javascript CDN(非jQuery)

时间:2013-03-25 作者:gavsiu

我正在尝试修改this 使用本地回退从CDN注册jQuery插件并将其排队。

然而,当URL失败时(或者如果我给它一个假URL),Firebug在加载本地回退之前会收到2个对URL的中止调用。使用类似于链接的jQuery回退,它只接收1个中止的调用。

看起来它在使用回退之前尝试加载脚本两次。

function gavsiu_scripts() {
  if (is_single() && comments_open() && get_option(\'thread_comments\') || is_page_template(\'page-contact.php\')) {
    wp_register_script(\'jquery_validate\', \'//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js\', array(\'jquery\'), null, false);
    add_filter(\'script_loader_src\', \'gavsiu_jquery_validate_local_fallback\', 10, 2);
    wp_enqueue_script(\'jquery_validate\');
  }
}

add_action(\'wp_enqueue_scripts\', \'gavsiu_scripts\', 100);

function gavsiu_jquery_validate_local_fallback($src, $handle) {
  static $add_fallback = false;

  if ($add_fallback) {
    echo \'<script>if(typeof $().validate == \\\'undefined\\\') document.write(\\\'<script src="\' . get_template_directory_uri() . \'/js/jquery.validate.min.js"><\\/script>\\\')</script>\' . "\\n";
    $add_fallback = false;
  }

  if ($handle === \'jquery_validate\') {
    $add_fallback = true;
  }

  return $src;
}

1 个回复
SO网友:Wyck

加载后,挂钩的顺序将导致问题gavsiu_scripts 通过wp_enqueue_scripts 使用它还可以使用script_loader_src.

据我所知,加载回退脚本的唯一好方法是不使用wp_enqueue_scripts 相反,只需将js加载到wp_headwp_footer, 根据链接中的示例。

结束

相关推荐

有没有办法将POST中的图片URL更改为CDN图片URL?

由于某些原因,如果我使用w3 total cache或w3 super cache来缓存我的站点,我的托管公司无法修复sql使用率不断达到峰值的问题。。。。在高峰值时,服务器有时会出现滞后和停机。为此,我必须使用hyper cache插件进行缓存,因为它工作得非常完美,但该插件不支持cdn。。我已经从maxcdn购买了cdn服务,但为此我必须使用w3 total cache或super cache。。。因此,我正在寻找一种自动更改帖子图像url的方法,例如:http://www.sitename.com/