我的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都会正确下载字体并进行渲染。
答案 0 :(得分:0)
Internet Explorer对WOFF字体强制执行同源或CORS检查。如果您的页面位于“mypc.mydomain.local”,则除非存在正确的Access-Control-Allow-Origin
标题,否则它不能使用“mypc”中的字体。
https://developers.google.com/fonts/docs/troubleshooting#CORS_header