IE 11: erreur CSS3111 dans mon propre code, et google.com/fonts ne rend pas les polices de caractères

je développe un site web qui utilise la police Google Open Sans comme suit:

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700italic,800italic,800,700' rel='stylesheet' type='text/css'>

normalement, J'utilise Chrome lorsque je travaille avec mon site Web, mais aujourd'hui, j'ai décidé de voir à quoi il ressemble dans IE 11 (11.0.10240.16431) sur Windows 10. Malheureusement, Open Sans n'est pas chargé et rendu correctement. Je vois beaucoup de ces erreurs dans la console des outils de développement:

CSS3111: @font-face encountered unknown error.
PRmiXeptR36kaC0GEAetxjqR_3kx9_hJXbbyU8S6IN0.woff

pensant que c'était étrange--j'avais précédemment développé un site qui a chargé Google Fonts juste très bien dans IE 10--je me suis dirigé sur plus de https://www.google.com/fonts . Plus d'erreurs CSS3111 , chaque police personnalisée étant affichée dans serif à la place:

Google Fonts broken in IE 11

Google Fonts broken in IE 11

est-ce que les polices Google sont simplement cassées pour IE 11? Les polices se chargent correctement dans Edge, Chrome, Firefox, etc. Je suis à une perte pour la façon de procéder pour obtenir ces polices de travail dans IE.

UPDATE 1

le réglage du mode de document émulé à 8 dans IE 11 permet aux polices de rendre correctement. Toutefois, IE 9+ présentait toujours les mêmes problèmes. Est-ce que C'est une sorte de traitement de chaîne d'agent utilisateur incorrect par Google, peut-être?

Correct rendering

UPDATE 2

je suis allé à FontSquirrel et téléchargé Ouvert Sans dans tous ses formats. J'ai aussi importé les CSS fournis dans le ZIP. Malheureusement, IE et maintenant Firefox continuent de signaler que la police ne peut pas être utilisée. Firefox dit downloadable font: not usable by platform .

UPDATE 3

j'ai confirmé que le paramètre de IE est défini à activé pour toutes les zones de sécurité.

16
demandé sur NathanAldenSr 2015-10-08 21:35:25

5 réponses

pour moi, ce problème a été causé par une fonctionnalité de Windows 10 appelée blocage de police non fiable . Le réseau de mon bureau l'a activé dans notre Politique de groupe.

en utilisant cette fonctionnalité, vous pouvez activer un réglage global qui empêche les utilisateurs de charger des polices non fiables qui sont traitées par L'Interface graphique périphérique (GDI). Les polices non fiables sont toutes les polices installées en dehors du répertoire %windir%/Fonts. https://support.microsoft.com/en-us/kb/3053676

pour désactiver le blocage de police non fiable en utilisant la Politique de groupe:

  1. Ouvrir L'Éditeur De Gestion De Stratégie De Groupe
  2. sous la Politique informatique locale, étendre la Configuration informatique, étendre les Modèles administratifs, étendre le système, puis cliquez sur les Options D'atténuation.
  3. dans le paramètre de blocage de police non fiable sélectionnez Ne pas bloquer non fiables polices

Pour désactiver celles de la Police de Blocage à l'aide de l'Éditeur du Registre:

  1. Ouvrir l'Éditeur du Registre (regedit.exe) et accédez à la clé de registre suivante: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel\
  2. si la touche MitigationOptions n'est pas présente, cliquez avec le bouton droit de la souris et ajoutez une nouvelle valeur QWORD (64 bits), en la nommant comme suit: MitigationOptions.
  3. Pour désactiver cette fonction. Tapez 2000000000000.

IMPORTANT: un redémarrage de l'ordinateur est nécessaire pour que les changements prennent effet

19
répondu Fraser Crosbie 2015-12-05 14:24:18

aussi étrange que cela paraisse, la solution est de allumer le pare-feu Windows . Avec le pare-feu désactivé, vous ne pouvez même pas ajouter de polices TTF au système, et c'est le même problème qu'avec @font-face . J'ai trouvé cette solution ici: https://superuser.com/questions/957907/unable-to-install-fonts-on-windows-10

3
répondu fpbhb 2017-03-20 10:04:24

ne vous inquiétez pas pour le blocage de police. Transformez vos polices en base64 et include via CSS. De cette façon, vous poussez les polices à travers le code du navigateur et les fichiers de police ne sont pas téléchargés de la façon habituelle. il s'agit également d'un numéro DISA STIG pour désactiver les polices téléchargeables. la solution peut être vu à ce post et aussi copié ici:

vous avez juste besoin de Base64 la police et l'inclure dans un CSS fichier. Assurez-vous de supprimer votre appel vers le fichier WOFF téléchargeable une fois que vous avez inclus l'appel vers la nouvelle FontAwesomeB64.css

utiliser https://www.base64encode.org / pour encoder le fichier WOFF Font-Awesome.

éditez le fichier résultant et ajoutez ces lignes. Lorsque vous arrivez à la ligne src:url, assurez-vous d'exécuter ce droit dans les informations base64 que vous avez reçu (n'utilisez pas le plus grand et moins que les signes que je montre ici.) À la fin de la base64 informations ajouter l'apostrophe, entre parenthèses, un point-virgule, et une accolade à la fin:

@font-face { 
font-weight: 400;
font-style: normal;
font-family: 'FontAwesome';
src:url(data:application/x-font-woff;base64,<insert base64 code here>);}

vous avez maintenant un fichier CSS base64 de la police Font-Awesome qui contourne tous les paramètres de déni de téléchargement de police dans les navigateurs.

j'ai trouvé que cela fonctionne avec toutes les polices, un peu plus lourd sur le téléchargement mais mérite la garantie de fonctionnalité.

1
répondu TadLewis 2017-06-14 22:12:28

j'ai ce problème exact sur de nombreuses machines Windows 10 / IE 11 (les polices web ne fonctionnent pas et donnent des erreurs CSS3111 dans la console de débogage). Dans tous les cas, le pare-feu était déjà (et géré par la stratégie de groupe).

j'ai trouvé que désactiver le pare-feu dans le registre HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\Enablfirewall = 0 suivi d'un redémarrage, puis de le remettre à 1 et redémarrer à nouveau corrige le problème.

l'autre chose qui corrige toujours le problème est de désélectionner" Internet Explorer "dans les fonctionnalités de Windows, Redémarrer, puis resélectionner" Internet Explorer " et redémarrer à nouveau.

à mon avis, il s'agit d'un type de bogue interne du pare-feu windows et les deux actions ci-dessus déclenchent le service Pare-feu pour nettoyer un type de corruption interne.

0
répondu ssabey 2015-11-09 22:42:22

dans Windows 10, Il y a trois niveaux pour le blocage de police:

  • IE paramètres de sécurité pour le téléchargement de polices (partie Utilisateur)
  • Option " blocage de police non fiable "(Niveau ordinateur)
  • Option" Activer avant de fournisseurs" (Ordinateur)

vous devez permettre à tous, pour le faire fonctionner.

0
répondu Teo Test 2017-03-21 12:00:40