Una prueba de característica simple para el formato de fuente Woff2.
woff2-feature-test Dado que usamos loadCSS para cargar asincrónicamente una hoja de estilo que contiene todos nuestros tipos de letra como URI de datos, necesitamos una forma de determinar programáticamente si el formato WOFF2 es compatible con el navegador.
var fontFile = "/url/to/woff.css";
// Use WOFF2 if supported
if( supportsWoff2 ) {
fontFile = "/url/to/woff2.css";
}
loadCSS( fontFile );
Usamos la API de carga de fuente para cargar un URI de datos Woff2 vacío y ver si el estado del conjunto de fuentes se está cargando o no. Si intenta cargar, el formato es compatible. Si no es así, el formato no se reconoce (consulte la prueba de falla intencional con un formato imaginario).
Si un navegador eventualmente implementa el formato WOFF2 pero no implementa la API de carga de fuentes, este script informará un falso negativo (que es preferible a los escenarios falsos positivos descritos anteriormente).
Tenga en cuenta que si utiliza un encabezado de política de seguridad de contenido restrictivo en font-src , eso puede causar problemas con esta prueba de características.
También deberá asegurarse de que su política de seguridad de contenido permita los URI de datos.
Por ejemplo, Github.com (no Github.io) usa Content-Security-Policy:default-src *; font-src assets-cdn.github.com; que niega nuestro URI de datos @font-face .
Algunas revisiones anteriores de este script se pueden encontrar en una esencia.