Javascript 预加载密钥请求-浏览器不使用字体
我们正在使用Gem WordPress主题,它在header.php中预先添加了代码。我们没有添加任何预加载链接,也没有使用任何插件,但Google PageSpeed Insights显示错误 警告:为“字体URL”找到了预加载Javascript 预加载密钥请求-浏览器不使用字体,javascript,php,wordpress,pagespeed,preload,Javascript,Php,Wordpress,Pagespeed,Preload,我们正在使用Gem WordPress主题,它在header.php中预先添加了代码。我们没有添加任何预加载链接,也没有使用任何插件,但Google PageSpeed Insights显示错误 警告:为“字体URL”找到了预加载,但未找到 由浏览器使用。检查您是否正在使用crossorigin 属性正确。” 现在我们想禁用这段PHP代码,但无论何时编辑这段代码,它都会破坏整个网站,或者即使在编辑之后,我们也会再次看到错误 <?php if (thegem_get_opti
,但未找到
由浏览器使用。检查您是否正在使用crossorigin
属性正确。”
现在我们想禁用这段PHP代码,但无论何时编辑这段代码,它都会破坏整个网站,或者即使在编辑之后,我们也会再次看到错误
<?php
if (thegem_get_option('font_preload_enabled')) {
$fonts = thegem_get_option('font_preload_preloaded_fonts');
$additionalFonts = thegem_additionals_fonts();
$sysFontUri = get_template_directory_uri().'/fonts/';
$sysFonts = array(
'Thegem Icons' => $sysFontUri.'thegem-icons.woff',
'Elegant Icons' => $sysFontUri.'elegant/ElegantIcons.woff',
'Materialdesign Icons' => $sysFontUri.'material/materialdesignicons.woff',
'Fontawesome Icons' => $sysFontUri.'fontawesome/fontawesome-webfont.woff',
'Thegem Socials' => $sysFontUri.'thegem-socials.woff',
);
foreach(explode(',', $fonts) as $font) {
$url = isset($sysFonts[$font]) ? $sysFonts[$font]:'';
if (!$url) {
foreach($additionalFonts as $additionalFont) {
if ($additionalFont['font_name'] == $font && isset($additionalFont['font_url_woff'])) {
$url = $additionalFont['font_url_woff'];
break;
}
}
}
if ($url) {
echo '<link rel="preload" as="font" crossorigin="anonymous" type="font/woff" href="'.$url."\">\n";
}
}
}
?>
有人帮助将其禁用,因此我们将通过交换手动添加预加载字体。
谢谢此脚本为每种字体添加了一个
标记,但您没有使用其中的一种或多种字体。所有这些集合之间有很多重叠(比如FontAwesome和Material Design都有保存、上传、菜单等图标),它们都以一致性为主题。您可能只想加载其中一个,无论您的站点使用哪一个
要解决这个问题,请查看您的CSS并查找-这些链接只是预加载,实际设置图标字体的是
@font-face
。如果其中任何一个没有匹配的@font-face
,您可以安全地将其删除。非常感谢