【发布时间】:2011-12-06 13:58:42
【问题描述】:
总结
我在 IE 7、8、9 中通过 HTTPS 使用 @font-face 时遇到了问题 - 它根本没有加载。包含的 HTML 页面是否托管在 HTTPS 上并不重要,当我尝试通过 HTTP 加载 EOT 字体时它可以工作,而 HTTPS 则不能。有没有人见过这种行为?
托管字体的服务器正在发送正确的 content-type="application/vnd.ms-fontobject"
我尝试了多种字体,所以它不是特定于字体的。
字体是在Font Squirrel生成的
CSS 语法
@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;
}
示例页面
【问题讨论】:
-
这很奇怪 (IE9).. 将您的 HTML 复制到 jsbin.com,点击“保存”,点击生成的链接。两种字体都可以工作......直到你点击刷新。
-
更新 LDG 指出(如下)问题可能是 SSL 证书与源域不匹配。这可以解释为什么 HTTP 请求有效但 HTTPS 很热。我会对此进行调查,然后将调查结果发回。
-
更新 无赖。原来 SSL 证书不是问题。虽然,在我的测试页面上,SSL 证书不匹配,但对于我试图让它工作的实际站点,情况并非如此,其域在 SSL 证书上。
-
您找到解决方案了吗?我也遇到了同样的问题。
-
我在 IE8 中遇到了同样的问题 - font-face over http 有效,https 无效,并且仅在第一页加载时失败,之后字体按预期显示(请参阅 stackoverflow.com/questions/7034068/…) .我安装了 Fiddler 并检查了流量。看起来 EOT 文件很好地通过了网络, Content-Type: application/vnd.ms-fontobject 。会不会只是一个 IE8 渲染错误,而我们已经陷入困境?伙计,我希望不是这样:/
标签: css internet-explorer https font-face