1

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が届きます。Webフォントの1つを適切に選択する代わりに、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はまだWebフォントを認識しているので、クライアント側の機能には影響せず、エラーログを汚すだけです。どうすればこれを修正できますか、それとも無視する必要がありますか?

4

1 に答える 1

3

残念ながら、それが Internet Explorer のやり方です。既知の唯一の回避策は、フォントの後にハッシュ (#) を適用し、ログ ファイルを再度確認しないことです。

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

この主題に関する興味深い講演については、Jake Archibald の DIBI Conference 2011 での講演、 Font-Face - Good vs Legalを参照してください。

于 2011-11-16T14:41:45.837 に答える