不使用FQDN时,IE font-face无法加载

时间:2013-07-12 07:06:13

标签: html css internet-explorer font-face

我的CSS中定义了一个font-face,如下所示:

@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),不同的安全区域有效。这两个区域都设置了“下载字体”,以便在我的电脑上启用。

如果它与安全区域相关,那么令人惊讶的是,Intranet设置似乎允许少于互联网设置。或者它是IE中的一个错误。

无论我使用哪个主机名,Firefox都会正确下载字体并进行渲染。

1 个答案:

答案 0 :(得分:0)

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

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