0

当我第一次下载这些图标时,它们可以在所有浏览器中使用。然而,现在它的生活和字体生活在不同的服务器上,它在 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;
}
4

1 回答 1

1

JS 文件等字体有一些 XSS 限制。

为避免这些限制,您必须将服务器配置为允许跨域字体文件。

在 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/

于 2013-02-05T08:53:52.390 回答