7

我的网站www.jungledragon.com大量使用了图标字体“FontAwesome”。本周我将系统升级到 Windows 8.1,并安装了 IE11。我注意到 FontAwesome 字体无法完全加载,并且浏览器控制台显示以下错误:

CSS3117: @font-face failed cross-origin request. Resource access is restricted.
File: fontawesome-webfont.eot
CSS3117: @font-face failed cross-origin request. Resource access is restricted.
File: fontawesome-webfont.woff
CSS3114: @font-face failed OpenType embedding permission check. Permission must be Installable. File: fontawesome-webfont.ttf

我知道这些错误是什么意思,它们与跨源权限有关,因为在我的例子中实际字体文件托管在 Amazon S3 上。

然而,奇怪的是:我确实有一个 CORS 策略应用于有问题的存储桶,这一直有效。为了做更多的研究,我尝试将 IE11 放入不同的文档模式,即 IE10、IE9 和 IE8。字体在所有情况下都无法加载。这很奇怪,因为当我在 Windows 8 上时,它可以在 IE8、9 和 10 上正常工作。

看起来那些文档模式真的没用,因为我继续使用 browserstack 做一些真正的测试,使用真正的原生浏览器版本而不是文档模式。在 Windows 7 和 8 上,字体在 IE8、9、10 以及 IE11 预览中都可以正常加载。

我现在有点不知道问题出在哪里。问题是 Windows 8.1 的结果吗(对我来说似乎,但我无法在 browserstack 中测试它,它不可用)?还是仅在 IE11 的最终版本中存在问题?如果是这样,为什么在每个文档模式中都存在问题?

注意:如果您想帮助测试,在网站上很容易看到字体是否加载:全局导航栏将没有图标,以及网站的其他几个区域。

4

3 回答 3

2

我们通过 fast.fonts.com 使用 Avenir 字体看到了同样的错误。它们在 IE10、9、8 中工作得非常好……但在 IE11 中却不行。我们的问题出现在使用 IE11 的 Windows 7 上。

奇怪的是在 fast.fonts.com,您可以选择 JS 文件或 CSS 文件调用。JS 调用失败,但 CSS 没有。不幸的是,CSS 调用在 Firefox 上不起作用。

示例错误:CSS3114:@font-face 未能通过 OpenType 嵌入权限检查。权限必须是可安装的。文件:6662a841-5b52-4af6-a868-6b43e3d7b263.ttf

于 2013-11-15T14:25:45.530 回答
1

我还不能发表评论,所以我必须发布这个作为答案..

这是 Google 承认的官方问题 (242): https ://code.google.com/p/googlefontdirectory/issues/detail?id=242

你可能想跟踪它;-)

如果我理解正确的话,在 Win 8.1 上的 IE11 中没有任何 webfonts 工作。这对我们很多网络开发人员来说真的很糟糕:-(

于 2013-10-22T20:48:30.217 回答
0

奇怪的。今天我收到 BrowserStack 的通知,他们现在支持 Windows 8.1 上的 IE11,所以我抓住这个机会进行了一次干净的测试。字体加载问题没有发生,它加载得很好。

然后,我使用 IE11 在本地 Windows 8.1 上进行了另一次测试,现在也解决了。我完全没有做任何改变它,它似乎已经解决了。我唯一能想到的是自动更新被推送到 Windows 8.1/IE11?不管怎样,现在都解决了。

于 2013-12-09T17:02:11.847 回答