IE和webfonts的奇怪404问题

时间:2011-11-16 14:34:03

标签: internet-explorer font-face webfonts

webfonts.fonts.com我提供了以下@font-face代码。

@font-face {
  font-family: "Arial W01 Regular";
  src: url("https://example.com/fonts/6efc8731-df51-47d4-94f6-d20bbfa83f13.eot?iefix");
  src: url("https://example.com/fonts/34904d9f-aa74-4e54-96b2-c893c64d4649.woff") format("woff"), url("https://example.com/fonts/4c8849d4-261c-445a-b013-663d9b3e42c6.ttf") format("truetype"), url("https://example.com/fonts/821da903-3a46-4ec9-a459-afb6776bee53.svg#821da903-3a46-4ec9-a459-afb6776bee53") format("svg"); }

它似乎在所有浏览器上运行良好,但我从IE客户端 - IE6,IE7和IE8获得非常奇怪的404。他们似乎没有正确地选择其中一个网络字体,而是将整个CSS指令连接成一个字符串并请求整个事情:

xxx.xxx.xxx.xxx example.com - [16/Nov/2011:09:23:30 -0500] "GET /fonts/4c81d16c-907a-43df-8e68-27da8939ce09.woff%22)%20format(%22woff%22),%20url(%22https://example.com/fonts/84ee8818-41db-4b62-8639-d3cfbf2751e8.ttf%22)%20format(%22truetype%22),%20url(%22https://example.com/fonts/d25a458a-cbcf-47ab-a30d-977747bbea34.svg HTTP/1.1" 404 2720 "https://example.com/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; GTB7.1; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; MSN 9.0;MSN 9.1;MSN 9.6;MSN 10.0;MSN 10.2; MSNbVZ02; MSNmen-us; MSNcOTH)"

奇怪的是,IE仍然看到了webfonts,因此它不会影响客户端功能,只会弄乱我的错误日志。我该如何解决这个问题,还是应该忽略它?

1 个答案:

答案 0 :(得分:3)

不幸的是,Internet Explorer就是这样做的。唯一已知的解决方法是在字体后面简单地应用哈希(#),而不再查看日志文件。

@font-face {
  font-family: "Arial W01 Regular";
  src: url("https://example.com/fonts/...eot#");
  ...
}

关于这个主题的有趣话题,请参阅Jake Archibald在2011年DIBI大会上的演讲,Font-Face - Good vs Legal