0

我在我的 CSS 中定义了一个字体,如下所示:

@font-face {
  font-family: 'iconFont';
  src: 
      url('../fonts/iconFont.eot?') format('eot'), 
      url('../fonts/iconFont.woff') format('woff'), 
      url('../fonts/iconFont.svg#iconFont') format('svg'), 
      url('../fonts/iconFont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

我还有一些其他类似格式的字体。当使用我的 PC 的完全限定域名(例如“mypc.mydomain.local”)时,Internet Explorer 9+ 会检索字体并正确呈现页面。但是,当只使用我的笔记本电脑的主机名(例如“mypc”)时,IE 甚至从不尝试检索字体。我已经使用Fiddler确认了这一点。

我能看到的唯一区别是不同的安全区域有效,具体取决于是使用完全限定名称(Internet)还是仅使用主机名(本地 Intranet)。这两个区域都设置了“下载字体”以在我的 PC 上启用。

如果它与安全区域有关,那么令人惊讶的是,Intranet 设置似乎比 Internet 设置允许的要少。或者它是 IE 中的一个错误。

无论我使用什么主机名,Firefox 都会下载字体并正确呈现。

4

1 回答 1

0

Internet Explorer 对 WOFF 字体强制执行同源或 CORS 检查。如果您在“mypc.mydomain.local”中有一个页面,则它不能使用“mypc”中的字体,除非存在正确的Access-Control-Allow-Origin标题。

https://developers.google.com/fonts/docs/troubleshooting#CORS_header

于 2013-07-12T22:35:28.680 回答