问题描述

根据 Codex,wp_enqueue_script 支持协议相关或协议不可知的外部链接:「远程资产可以使用 protocol-agnostic URL(即’//otherdomain.com/js/theirscript.js) 指定」 。

但我没看到它:

wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);

输出:

<script type='text/javascript' src='http://localhost:25898//maps.googleapis.com/maps/api/js?sensor=false&ver=3'></script>

请注意,协议相关 URL 附加到站点 URL 。

最佳解决方案

您发布的代码工作正常,并在 HTML 输出中导致:

<script type='text/javascript' src='//maps.googleapis.com/maps/api/js?sensor=false&ver=3'></script>

使用此代码段在 WordPress 3.5 上测试:

add_action('wp_enqueue_scripts', 'test');
function test() {
  wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);
}

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。