3

なぜこれが起こっているのか完全にはわかりませんが、CSS font-face フォントに対する IE8 リクエストに関して、定期的にサーバー側のエラー レポートを受け取っているようです。CSS のパスは適切に相対パスであり、IE9 からのエラーは見られません。

ログに記録されたエラー メッセージの例を次に示します (一部の情報が隠されています)。

{
  "DateTimeUTC": "2012-12-10T15:58:32.2512016+00:00",
  "RequestId": "goq9",
  "UserIP": "72.221.104.224",
  "UserAgent": "Mozilla/4.0 (compatible; MSIE 8.0; AOL 9.6; AOLBuild 4340.5004; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDS; .NET4.0C; Zune 4.7)",
  "ReferringUrl": "https://some-site/some/path/option1/option2",
  "Message": {
    "Exception": null,
    "RequestId": null,
    "ErrorCode": 404,
    "ErrorDescription": "Not Found",
    "OriginalUrl": "/some/path/fonts/rokkitt/rokkitt-webfont.eot"
  },
  "Exception": null,
  "RequestUrl": "https://some-site.com/some/path/fonts/rokkitt/rokkitt-webfont.eot",
  "Cookies": [/*removed from display*/],
  "PostData": {},
  "DebugInfo": null
}

ご覧のとおり、css ファイルの URL ではなく、ページの URL に相対するパスを持つフォントに対する要求のようです。(/content/css/site/site.css と /content/fonts/... のフォント) IE8 はたまたまページに対して相対的にチェックするのでしょうか? それとも両方に対してチェックしますか?

同様の問題が発生しています。すべて IE8 のようですが、自分で問題を再現することはできません。AOL がサポートする IE8 のようですが、それが違いを生むかどうかはわかりません。

4

1 に答える 1

0

私も同じ問題を抱えていましたが、埋め込まれたスタイルシート (つまり、HTML の HEAD にある STYLE 要素のルール) が原因だったと思います。エラー ログに IE8 の 404 が表示され、奇妙なパスにある .eot ファイルを探していました。.eot ファイルは、外部スタイルシートで相対パスで参照されていました。スタイルシートの URL を基準にしてこのパスを解決するブラウザーは、フォント ファイルを見つけましたが、IE8 ではドキュメントの URL を基準にしてパスを解決する場合があったようです。IE8 のインスタンスでこれを再現することはできませんでしたが、ログにはかなり明確な話がありました。

最近、いくつかのフォント関連のルールを含む小さな埋め込みスタイルシート (つまり、HEAD 内の STYLE 要素) を使用するようにアプリケーションを変更したところ、この後 404 が表示され始めました。この埋め込みスタイルシートを削除し、ルールを外部スタイルシートに移動しました。この変更を行ってから、404 は見られませんでした。

編集 この答えは正しくありません。ルールを埋め込みスタイルシートから外部スタイルシートに移動しても、動作は変わりませんでした。金曜日の午後に変更を行い、週末には 404 は見られませんでしたが、今日 (月曜日) に .eot ファイルに 404 が見られます。

于 2013-02-10T23:10:03.660 に答える