我正在开发一个Web应用程序,其中将angular用于前端,将Java用于后端。我使用swiss-721-light-condensed-bt作为字体。 我使用的代码是:
@font-face {
font-family: 'Swis721CnBT';
font-style: normal;
font-weight: normal;
src: url('../../../resources/fonts/swiss-721-light-condensed-
bt.eot'),url('../../../resources/fonts/Swiss 721 Condensed BT.ttf');
}
当我在http上部署该应用程序时,它对于Internet Explorer可以正常工作,但是当我在 https,然后显示IE,这表明行为异常。当我通过直接刷新url加载页面时,字体不是 应用,但是当我通过一些内部链接转到页面URL时,将应用字体。 它仅在https上发生。
我尝试在论坛上找到它,但是没有得到任何有用的解决方案。
已经发布了类似的问题,但是我没有任何有效的解决方案。
谢谢..
答案 0 :(得分:0)
今天有同样的问题,并在这里找到了要点:https://github.com/FortAwesome/Font-Awesome/issues/7681(willyelm,2016年1月23日)
所以我在这里引用此解决方案:
如果您使用apache运行https服务器并设置了以下内容,我也会遇到相同的问题:
Cache-Control: no-store
您需要将其删除。
如果出于安全原因仍然需要设置“不存储”,则可以将此规则添加到服务器apache conf:
<FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header set Cache-Control "max-age=3600"
</IfModule>
</FilesMatch>
基本上,您将允许IE将带有字体文件的缓存存储1小时。不会影响安全性。