Internet Explorer 7、8、9 が HTTPS 経由で EOT フォントをロードできないのはなぜですか?

DDD
リリース: 2024-11-15 14:13:02
オリジナル
843 人が閲覧しました

Why Can't Internet Explorer 7, 8, and 9 Load EOT Fonts Over HTTPS?

HTTPS を使用したクロスブラウザー フォントの埋め込み: IE @font-face EOT 読み込みの問題の解決

埋め込み時に遭遇する重要な課題の 1 つ@font-face を使用するフォントは、さまざまなブラウザ間での互換性を保証します。ほとんどのブラウザはさまざまなフォント形式をサポートしていますが、Internet Explorer 7、8、および 9 は、HTTPS 経由で EOT フォントにアクセスするときに特有の動作を示します。

この問題は、HTML 経由で EOT フォントをロードしようとすると発生します。 @font-face 宣言を含むページは、HTTP または HTTPS でホストできます。このようなシナリオでは、Internet Explorer はプレーン HTTP 経由でシームレスに動作するにもかかわらず、EOT フォントのロードに失敗します。

根本的な原因を詳しく調べるには、フォントをホストしているサーバーを調べることが重要です。ほとんどの場合、サーバーは EOT フォント ファイルに対して適切なコンテンツ タイプ ヘッダー、つまり「application/vnd.ms-fontobject」を送信する必要があります。

問題は、HTTP ヘッダー Cache-Control が設定されている場合に発生します。フォントを「キャッシュなし」にします。この設定は HTTP 環境では許容されますが、Internet Explorer は HTTPS 経由でダウンロードされたフォントを無視します。

この動作の最も可能性の高い説明は、KB 815313 で説明されている動作に似ているということです。この動作は、次の場合のキャッシュの防止に対処しています。アクティブなドキュメントを SSL 経由でダウンロードします。したがって、「Cache-Control」ヘッダーが存在し、「no-cache」に設定されている場合は、それを削除すると問題が解決するはずです。

したがって、開発者ツールのフォント オプションで Internet Explorer が進行しているのを観察すると、 HTTPS 経由で EOT フォントをロードせずにネットワーク ビューを表示し、「Cache-Control」ヘッダーを確認して削除することが解決策となる可能性があります。この微妙な違いに対処することで、HTTPS 経由でフォントにアクセスする場合でも、ブラウザ間で一貫したフォントの埋め込みを確保できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート