当我第一次下载图标时,它们可以在所有浏览器中使用。但是,现在它的实时版本和字体在另一台服务器上有效,它在IE或Firefox中不起作用,但在Chrome和Opera中就可以了。任何人有想法吗?我三联检查了代码,并确保所有字体都在服务器上。
@font-face {
font-family: 'icomoon';
src:url('http://static.mydomain.com/design_media/fonts/icomoon.eot');
src:url('http://static.mydomain.com/design_media/fonts/icomoon.eot?#iefix') format('embedded-opentype'),
url('http://static.mydomain.com/design_media/fonts/icomoon.svg#icomoon') format('svg'),
url('http://static.mydomain.com/design_media/fonts/icomoon.woff') format('woff'),
url('http://static.mydomain.com/design_media/fonts/icomoon.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
最佳答案
字体有一些XSS限制,例如JS文件。
为了避免这些限制,您必须将服务器配置为允许跨域字体文件。
在Apache中,您必须安装Header模块并将其添加到conf中:
<FilesMatch "\.(ttf|ttc|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
编辑:Access-Control-Allow-Origin之后的“ *”参数可能仅限于特定域。
有关更多信息,请参见http://www.w3.org/TR/cors/。