Ein einfacher Feature -Test für das WOFF2 -Schriftformat.
woff2-feature-test Angesichts der Tatsache, dass wir loadCSS verwenden, um ein Stylesheet asynchron zu laden, das alle unsere Schriftarten als Data -URIs enthält, müssen wir programmgesteuert feststellen, ob das WOFF2 -Format im Browser unterstützt wird.
var fontFile = "/url/to/woff.css";
// Use WOFF2 if supported
if( supportsWoff2 ) {
fontFile = "/url/to/woff2.css";
}
loadCSS( fontFile );
Wir verwenden die Schriftlade -API mit der Schriftlade -Lade -Lade ein leerer WOFF2 -Daten -URI und prüfen, ob der Status der Schriftart geladen wird oder nicht. Wenn es versucht zu laden, wird das Format unterstützt. Wenn dies nicht der Fall ist, ist das Format nicht anerkannt (siehe den absichtlich fehlenden Test mit einem imaginären Format).
Wenn ein Browser letztendlich das WOFF2 -Format implementiert, aber die Schriftlade -API nicht implementiert, meldet dieses Skript ein falsches Negativ (das den oben beschriebenen falsch positiven Szenarien vorzuziehen ist).
Beachten Sie, dass wenn Sie einen restriktiven Header für die Sicherheitsrichtlinie für die Inhaltssicherheit bei font-src verwenden, dies bei diesem Funktionstest zu Problemen führen kann.
Sie müssen auch sicherstellen, dass Ihre Inhaltssicherheitsrichtlinie Data URIs ermöglicht.
Beispielsweise verwendet Github.com (nicht github.io) Content-Security-Policy:default-src *; font-src assets-cdn.github.com; das leugnet unseren @font-face -Daten URI.
Einige frühere Überarbeitungen dieses Skripts finden Sie auf einem Kern.