在Windows 8.1下的任何浏览器中,字体都不会在我的网站上正确显示,因为网站的webfont文件未下载且服务器仅提供206 Partial Content错误响应。例如,不会发生错误。在Windows 7下,没有给出错误消息,正确下载字体。它是Windows指定的错误还是其他什么? webfonts位于同一服务器和相同的子目录中。
答案 0 :(得分:1)
我的网站上出现了同样的错误。我不相信这是一个特定于PC的问题,因为我已经在我的Vista PC和7 PC上看到了这个问题。它可能与字体文件的传递有关。这就是我所做的,设法修复它:
示例:强>
执行:
@font-face {
font-family: 'familyName';
src: url('//www.example.com/myfont.ttf') format('truetype');
}
注意^^上面的 www 并删除http :(删除http:前缀有助于您的网站引用http和https
不要这样做:
@font-face {
font-family: 'familyName';
src: url('http://example.com/myfont.ttf') format('truetype');
}
适用于 Firefox 和 Chrome ,在IE9中似乎没有。这似乎也解决了第一次网页访问时不会加载"字体的问题。问题,只在网站的第二个视图上加载字体。
我没有经过测试,看看它是否可以正常使用,但请确保您的区域文件中包含www CNAME记录。
.htaccess文件:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
apache2.conf的额外行
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
<FilesMatch "\.(ttf|otf|eot)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
对apache2.conf文件进行更改后,通过
更新并重新启动apachesudo a2enmod headers
sudo service apache2 restart