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 サイトの他の関連記事を参照してください。