IE不在HTTPS的页面刷新上加载字体

时间:2018-09-27 10:29:28

标签: internet-explorer https fonts

我正在开发一个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上发生。

我尝试在论坛上找到它,但是没有得到任何有用的解决方案。

已经发布了类似的问题,但是我没有任何有效的解决方案。

谢谢..

1 个答案:

答案 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小时。不会影响安全性。

相关问题