首页 > web前端 > css教程 > 正文

为什么 IE 无法通过 HTTPS 加载 EOT 字体?

Mary-Kate Olsen
发布: 2024-11-18 20:40:03
原创
1049 人浏览过

Why Can't IE Load EOT Fonts Over HTTPS?

解决 IE 中通过 HTTPS 加载 @font-face EOT 字体失败的问题

Internet Explorer 用户可能会遇到使用 @font-face 规则通过 HTTPS 连接加载 EOT 字体的问题。虽然字体可能通过 HTTP 成功加载,但切换到 HTTPS 可能会导致失败。

调查:

问题源于 IE 对 HTTPS 请求的处理。当通过 HTTPS 加载字体并且服务器发送 Cache-Control: no-cache 标头时,IE 会忽略下载的字体。这与 KB 815313 中描述的 IE 行为有关,该行为会阻止缓存通过 SSL 下载的活动文档。

解决方案:

要解决此问题,请确保服务器托管字体不会发送 Cache-Control: no-cache 标头。删除或修改此标头将允许 IE 识别下载的字体。

示例:

@font-face {
  font-family: 'GothamCondensedBold';
  src:url('path/to/fontgothmbcd-webfont.eot');
  src:url('path/to/fontgothmbcd-webfont.eot?#iefix') format('embedded-opentype'),
      url('path/to/fontgothmbcd-webfont.woff') format('woff'),
      url('path/to/fontgothmbcd-webfont.ttf') format('truetype'),
      url('path/to/fontgothmbcd-webfont.svg#GothamCondensedBold') format('svg');
  font-weight: normal;
  font-style: normal;
}
登录后复制

通过确保服务器不发送 Cache-Control:无缓存标头,IE 将通过 HTTPS 正确加载 EOT 字体。

以上是为什么 IE 无法通过 HTTPS 加载 EOT 字体?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板