您必须小心使用PageSpeed和GTMetrix以及其他此类工具,因为它们提供的结果没有上下文。他们有预先设置的规则,如“脚本应延迟和/或加载在页面末尾的结束处”</body>
标签但是,如果你想让一些脚本提供他们想要提供的功能,有些脚本就不能推迟,有些脚本必须加载到标题中(Facebook的脚本也可以这样做,LinkedIn也是如此)。因此,它们是测试和检查的好工具,可以让你知道你可以在哪里改进,但这并不意味着它们告诉你要做的事情总是百分之百正确的。
也就是说,以下是我在站点上使用的内容,用于向正在加载的脚本添加延迟标记。
function addaprefix_defer_js( $url ) {
if ( is_user_logged_in() ) return $url;
if ( FALSE === strpos( $url, \'.js\' ) ) return $url;
//you\'ll want to add a list of scripts here that you do NOT want to defer, jquery.js is definately one of them
if ( strpos( $url, \'jquery.js\' ) ) return $url;
return str_replace( \' src\', \' defer src\', $url );
}
add_filter( \'script_loader_tag\', \'addaprefix_defer_js\', 10 );
我在哪里
addaprefix_
将其更改为您想要/需要的函数前缀。