问题描述
我在谷歌速度测试中遇到关于我的脚本中的查询字符串的迟到。所以,我试图通过传递 false 作为参数的参数来删除它们。但是,它似乎没有效果:
wp_register_script('myscript', get_bloginfo('template_directory').'/scripts.myversionnumber.js',false,false,true);
wp_enqueue_script('myscript');
PS:js 文件名的”myversionnumber” 部分是我控制缓存/版本控制的手段,而不是显示出一些代理服务器 (根据 Google pagepeed 测试) 的?ver =方法:
Remove query strings from static resources Enabling public caching in the HTTP headers for static resources allows the browser to download resources from a nearby proxy server rather than from a remote origin server. Learn more
Suggestions for this page
Resources with a “?” in the URL are not cached by some proxy caching servers. Remove the query string and encode the parameters into the URL for the following resources:
最佳解决方案
我认为你必须传递 NULL 作为第 4 个参数。
wp_register_script(
'myscript',
get_bloginfo('template_directory').'/scripts.myversionnumber.js',
false,
NULL,
true);
wp_enqueue_script('myscript');
次佳解决方案
您可以将 null
作为版本值传递给 wp_register_script
或 wp_enqueue_script
,它应该丢弃查询字符串。
<?php
wp_enqueue_script(
'myscript',
'/path/to/script.js',
array(),
null
);
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。