Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将css移动到子域,现在web字体只加载到Chrome中_Html_Css_Webfonts - Fatal编程技术网

Html 将css移动到子域,现在web字体只加载到Chrome中

Html 将css移动到子域,现在web字体只加载到Chrome中,html,css,webfonts,Html,Css,Webfonts,出于搜索引擎优化的目的,我最近将css和img目录从www.findgamers.us移到static.findgamers.us,Entypo字体将不会加载到IE或Firefox中。具有讽刺意味的是,他们在铬上出现了 我所有的其他风格和形象似乎都很完美。我仍然不明白为什么它在Chrome上运行良好,但在其他两种浏览器上却不行 据我所知,样式表中的URL是相对于样式表的位置的。Entypo目录确实位于样式表所在的css目录中 下面是样式表中加载字体的内容 @font-face { fon

出于搜索引擎优化的目的,我最近将css和img目录从www.findgamers.us移到static.findgamers.us,Entypo字体将不会加载到IE或Firefox中。具有讽刺意味的是,他们在铬上出现了

我所有的其他风格和形象似乎都很完美。我仍然不明白为什么它在Chrome上运行良好,但在其他两种浏览器上却不行

据我所知,样式表中的URL是相对于样式表的位置的。Entypo目录确实位于样式表所在的css目录中

下面是样式表中加载字体的内容

@font-face {
    font-family: 'EntypoRegular';
    src: url('Entypo/entypo-webfont.eot');
    src: url('Entypo/entypo-webfont.eot?#iefix') format('embedded-opentype'),
         url('Entypo/entypo-webfont.woff') format('woff'),
         url('Entypo/entypo-webfont.ttf') format('truetype'),
         url('Entypo/entypo-webfont.svg#EntypoRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}
我试着像这样将完整的url添加到urlhttp://static.findgamers.us/css 但它似乎不起作用,我尝试过的任何其他路径选项也不起作用


建议?

可能不是您想要听到的答案-但如果有效,请将它们移回旧配置

作为一名拥有大量网站加载速度经验的SEO,我可以告诉你两件事:

1将CSS放在子域上对SEO没有帮助

2将内容移动到“无cookieless”子域将提高加载速度,这有点荒谬。通常情况下,它实际上会减慢速度。这既来自经验,也来自参考

我可以100%确认的是,缩小CSS、正确的过期/缓存规则和GZIP会有所帮助

希望这有帮助!
Colin

IE和Firefox默认情况下不允许跨域。只有Chrome可以

因此,您必须在样式表中指定url,然后在htaccess或php标头设置中允许跨域。例如,这是您在htaccess中必须执行的操作

<FilesMatch "\.(ttf|otf|eot|woff)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin: "*"
  </IfModule>
</FilesMatch>

如果在开发工具控制台中看到任何错误,您会看到哪些错误?FWIW,Chrome可能正在使用缓存副本。可能是跨域问题吗?Shomz,你知道了。就这样。您必须在样式表中指定url,然后在htaccess或php标题设置中允许跨域。截至2017年,当我再次遇到此类问题时,Chrome也默认阻止了跨域web字体。