ホームページ  >  記事  >  ウェブフロントエンド  >  IE が HTTPS 経由で EOT フォントをロードできないのはなぜですか?

IE が HTTPS 経由で EOT フォントをロードできないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-18 20:40:03996ブラウズ

Why Can't IE Load EOT Fonts Over HTTPS?

IE での HTTPS 経由の @font-face EOT フォントの読み込みエラーの解決

Internet Explorer ユーザーは、@font-face ルールを使用して HTTPS 接続経由で EOT フォントを読み込むときに問題が発生する可能性があります。フォントは HTTP 経由で正常に読み込まれる可能性がありますが、HTTPS に切り替えると失敗する可能性があります。

調査:

この問題は、IE の HTTPS リクエストの処理に起因します。フォントが HTTPS 経由でロードされ、サーバーが Cache-Control: no-cache ヘッダーを送信すると、IE はダウンロードされたフォントを無視します。これは、SSL 経由でダウンロードされたアクティブなドキュメントのキャッシュを妨げる、KB 815313 で説明されている IE の動作に関連しています。

解決策:

この問題を解決するには、サーバーがフォントをホストしている場合、Cache-Control: no-cache ヘッダーが送信されません。このヘッダーを削除または変更すると、IE がダウンロードしたフォントを認識できるようになります。

例:

@font-face {
  font-family: 'GothamCondensedBold';
  src:url('path/to/fontgothmbcd-webfont.eot');
  src:url('path/to/fontgothmbcd-webfont.eot?#iefix') format('embedded-opentype'),
      url('path/to/fontgothmbcd-webfont.woff') format('woff'),
      url('path/to/fontgothmbcd-webfont.ttf') format('truetype'),
      url('path/to/fontgothmbcd-webfont.svg#GothamCondensedBold') format('svg');
  font-weight: normal;
  font-style: normal;
}

サーバーが Cache-Control を送信しないようにすることで、次のようになります。キャッシュヘッダーがない場合、IE は HTTPS 経由で EOT フォントを正しくロードします。

以上がIE が HTTPS 経由で EOT フォントをロードできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。