Viele Artikel im Web wie diese: http://www.fontspring.com/blog/fixing-ie9-font-face-problems schlagen vor ?#iefix
, der eot-URL ein hinzuzufügen. Ich war neugierig zu wissen, wie dies das Problem lösen wird. Vielen Dank.
Viele Artikel im Web wie diese: http://www.fontspring.com/blog/fixing-ie9-font-face-problems schlagen vor ?#iefix
, der eot-URL ein hinzuzufügen. Ich war neugierig zu wissen, wie dies das Problem lösen wird. Vielen Dank.
Antworten:
IE8 und ältere haben einen Fehler in ihren Parsern für das src-Attribut. Wenn Sie also mehr als ein Schriftformat in das SRC aufnehmen, kann der IE es nicht laden und meldet einen 404-Fehler.
Das Fragezeichen löst dieses Problem, da es den IE täuscht, der Rest der Zeichenfolge (andere src) sei eine Abfragezeichenfolge, und daher nur die EOT-Datei lädt ...
Andere Browser folgen der Spezifikation und laden nur den erforderlichen Schrifttyp. ..
Vielleicht möchten Sie die Bulletproof @ font-face-Syntax von Paul Irish lesen , um mehr über andere Gründe zu erfahren ...
Sie können alles tun, anstatt ?#iefix
: Das grundlegende Ziel besteht darin, eine ?#something
nach der ersten Schriftartdatei in die URL einzufügen, da @Rexyz bereits geantwortet hat.
@font-face {
font-family: 'MyWebFont';
src: url('webfont.eot'); /* IE9 Compat Modes */
src: url('webfont.eot?#FooAnything') format('embedded-opentype'), /* IE6-IE8 */
url('webfont.woff') format('woff'), /* Modern Browsers */
url('webfont.ttf') format('truetype'), /* Safari, Android, iOS */
url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}
.otf
Schriftarten auch für Safari, Android, iOS?
Dies vollständig zu realisieren, ist eine alte Frage.
Aber für diejenigen, die hierher gekommen sind, um zu suchen, welche Version von "diesem" Browser diesen Hack benötigt, ist es jetzt sicher zu entfernen, wenn Sie IE <10 nicht unterstützen.
Also einfach loswerden und nur eine Zeile haben, in der alle Schriftarten in allen von Ihnen angebotenen Formaten aufgelistet sind.
Das ?#iefix
dient dazu, den Browser daran zu hindern, Zeichen nach dem ?
als Abfragezeichenfolge zu interpretieren, und verhindert somit einen weiteren möglichen Serverfehler.