Heim >Web-Frontend >CSS-Tutorial >Warum können Internet Explorer 7, 8 und 9 EOT-Schriftarten nicht über HTTPS laden?

Warum können Internet Explorer 7, 8 und 9 EOT-Schriftarten nicht über HTTPS laden?

DDD
DDDOriginal
2024-11-15 14:13:02925Durchsuche

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

Browserübergreifende Schriftarteneinbettung mit HTTPS: Behebung des IE @font-face EOT-Ladeproblems

Eine der größten Herausforderungen beim Einbetten Schriftarten, die @font-face verwenden, stellen die Kompatibilität zwischen verschiedenen Browsern sicher. Während die meisten Browser die verschiedenen Schriftartformate unterstützen, zeigen Internet Explorer 7, 8 und 9 ein eigenartiges Verhalten beim Zugriff auf EOT-Schriftarten über HTTPS.

Das Problem tritt auf, wenn versucht wird, die EOT-Schriftart über HTTPS zu laden, während die HTML Die Seite mit der @font-face-Deklaration kann entweder auf HTTP oder HTTPS gehostet werden. In solchen Szenarien kann Internet Explorer die EOT-Schriftart einfach nicht laden, obwohl sie nahtlos über einfaches HTTP funktioniert.

Um die zugrunde liegende Ursache zu untersuchen, ist es wichtig, den Server zu untersuchen, auf dem die Schriftart gehostet wird. In den meisten Fällen sollte der Server einen entsprechenden Inhaltstyp-Header, nämlich „application/vnd.ms-fontobject“, für die EOT-Schriftartdatei senden.

Das Problem tritt auf, wenn der HTTP-Header Cache-Control festgelegt ist auf „Kein Cache“ für die Schriftart setzen. Diese Einstellung ist zwar in einer HTTP-Umgebung akzeptabel, führt jedoch dazu, dass Internet Explorer die heruntergeladene Schriftart über HTTPS ignoriert.

Die wahrscheinlichste Erklärung für dieses Verhalten ist, dass es dem in KB 815313 beschriebenen Verhalten ähnelt, das sich mit der Verhinderung der Zwischenspeicherung befasst, wenn Herunterladen aktiver Dokumente über SSL. Wenn also der Header „Cache-Control“ vorhanden und auf „no-cache“ eingestellt ist, sollte das Problem durch Entfernen behoben werden.

Wenn Sie also beobachten, dass Internet Explorer die Schriftartoptionen in den Entwicklertools durchläuft Um eine Netzwerkansicht zu erstellen, ohne die EOT-Schriftart über HTTPS zu laden, kann es eine mögliche Lösung sein, den Header „Cache-Control“ zu überprüfen und zu entfernen. Durch die Behebung dieser Nuance können Sie eine konsistente Schriftarteneinbettung in allen Browsern sicherstellen, selbst wenn Sie über HTTPS auf die Schriftarten zugreifen.

Das obige ist der detaillierte Inhalt vonWarum können Internet Explorer 7, 8 und 9 EOT-Schriftarten nicht über HTTPS laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn