我正在开发一个Web应用程序,使用angular作为前端,Java用于后端。我使用瑞士-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上。
我尝试在论坛上找到它,但没有得到任何有用的解决方案。
已经发布了相同的问题,但我没有得到任何可行的解决方案。
谢谢。。
今天遇到了同样的问题,并在这里找到了一个灵魂: https://github.com/FortAwesome/Font-Awesome/issues/7681 (由 willyelm 于 2016 年 1 月 23 日发布(
所以我在这里引用这个解决方案:
如果您正在运行带有apache的https服务器并设置了以下信息,则我遇到了同样的问题:
Cache-Control: no-store
您需要将其删除。
如果出于安全原因,您仍然需要设置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小时。 这不会影响安全性。