问题描述
根据 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。