Polices d'icône non chargées dans IE11

nous utilisons icomoon pour nos polices d'icône, et elles fonctionnent bien dans Chrome et Firefox, mais ne s'affichent pas dans IE11... Parfois. Il semble fonctionner sur la première page, mais pas sur les pages suivantes. Vider le cache ne semble pas le réinitialiser. Ce problème peut être présent dans D'autres versions D'IE, pour l'instant nous nous concentrons sur IE 11.

voici notre @font-face:

@font-face {
font-family: 'icon';
src:url('fonts/icon.eot?-3q3vo5');
src:url('fonts/icon.eot?#iefix-3q3vo5') format('embedded-opentype'),
    url('fonts/icon.woff?-3q3vo5') format('woff'),
    url('fonts/icon.ttf?-3q3vo5') format('truetype'),
    url('fonts/icon.svg?-3q3vo5#rezku') format('svg');
font-weight: normal;
font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
font-family: 'icon';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;

/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-alphabet:before {
content: "e600";
}
/* etc etc etc */

mais c'est là que ça devient bizarre. En regardant les outils de développement, une requête HTTP pour le les polices sont envoyées, mais seulement quelques centaines d'octets sont reçus (probablement juste les en-têtes).

Network panel

mais la réponse HTTP affiche correctement la longueur du contenu en kilo-octets.

Response headers

l'onglet" corps de réponse "dit simplement" pas de données à afficher."

Vous pouvez voir dans la capture d'écran du Panneau réseau que les polices Google ne se comportent pas comme ça.

coller L'URL dans la barre d'emplacement les résultats dans le fichier en cours de téléchargement.

28
demandé sur user86745458 2014-11-12 21:49:40

7 réponses

a rencontré un problème similaire, et à partir de votre capture d'écran ci-dessus, la réponse a un en-tête Cache-Control de 'no-store'. IE semble avoir des problèmes avec la mise en cache et les polices.

la suppression des en-têtes' Cache-Control: no-store ' et 'Pragma: no-cache' a fonctionné pour que les polices d'icône apparaissent à nouveau.

https://github.com/FortAwesome/Font-Awesome/issues/6454

23
répondu timjchin 2015-11-14 16:00:16

après avoir étudié le même problème, et en passant en revue diverses solutions publiées en ligne, j'ai créé la liste de dépannage suivante, qui couvre la plupart des causes potentielles:

  1. les téléchargements de police sont désactivés dans IE, sous Options Internet / Sécurité / niveau personnalisé /les téléchargements de police activent / désactivent. Ils peuvent être désactivés par votre administrateur réseau, auquel cas vous ne pourrez pas voir ou modifier ce paramètre.
  2. vos en-têtes HTTP empêchent IE de stocker le fichier de police local. Pour corriger, enlever tout Cache-Control: no-store, no-cache ou Pragma: no-cache en-têtes, ou tout Expires en-tête avec une date dans le passé. Aussi l' Vary header a ses trucs dans IE, si défini à autre chose que Accept-Encoding,User-Agent,Host ou Accept-Language IE ne cache rien, à moins queETAG en-tête est également présent (voir ce blog MSDN).
  3. vous ne définissez pas les types MIME corrects pour le téléchargement de police. Par exemple Jetty 9 va mettre par par défaut Content-Type: text/plain pour les types de police habituels (eot, woff, woff2). Voir cette réponse pour les types de contenu appropriés à utiliser.
  4. assurez-vous d'utiliser display: block ou display: inline-block pour votre élément icon.
  5. Enfin, assurez-vous de passer par le guide de dépannage plus à FontAwesome.
3
répondu Andrei Socaciu 2017-11-13 10:35:22

j'ai eu un problème similaire et il semble être causé par IE ayant des difficultés avec certains display et position réglages en combinaison avec iconfonts.

Il devrait normalement travailler à l'aide de:

element:before {
     display:block;
     position: absolute;
     ... your styles ...
}
2
répondu tobias47n9e 2016-07-14 09:08:48

j'ai fait face à un problème similaire mais avec des icônes de police Bootstrap (Glyphicons). Vous pouvez essayer si cela fonctionne:

(généralement sous Windows 10) les paramètres de L'IE-11 ont été modifiés pour ne pas télécharger de polices externes et n'utiliser que les polices disponibles sous windows. C'est le comportement par défaut.

Cependant nous pouvons modifier ce paramètre dans IE pour lui permettre de télécharger des polices externes. Voici les étapes à suivre dans IE- Aller à: Paramètres > > Options Internet >> Sécurité enter image description here

cliquez sur "Internet" (ou n'importe quelle zone que vous utilisez) > > " niveau personnalisé..."

Suivant dans la section 'Paramètres de sécurité ‘ - Activer’téléchargement de police'. Par défaut, il est désactivé. enter image description here

rafraîchir la Page

2
répondu Saurabh R S 2017-07-26 08:33:00

la syntaxe est correcte, cependant il peut y avoir un problème avec la façon dont quel que soit le convertisseur que vous avez utilisé pour convertir à partir .la fft à la .eof. Voir ce l'article pour plus de détails sur cette question en général http://www.iandevlin.com/blog/2009/12/webdev/adventures-with-font-face

en attendant, vous pouvez essayer de tester le problème en utilisant une police hébergée par Google fonts. Je dis cela parce que Google gère la compatibilité entre navigateurs de façon transparente. Si il s'avère que le Google font fonctionne alors vous savez son un problème avec la façon dont votre police a été convertie et vous devez en essayer un autre. Ce que je comprends Police Écureuil est vraiment bon à générer de la croix-navigateur compatible polices. J'espère que cette aide, bonne chance

1
répondu coderrick 2015-05-21 21:56:34
0
répondu mryarbles 2018-05-16 23:24:32

dans mon cas, il était corrompu .fichier de police eot. J'en avais généré un nouveau (+nouveau .CSS styles) et il a corrigé le problème. Essayer.

PS. Assurez-vous que vous soutenez EOT pour IE à @font-face, par exemple:

@font-face {
  font-family: "fontName";
  src:url("../../src/theme/fonts/fontName.eot");
  src:url("../../src/theme/fonts/fontName.eot?#iefix") format("embedded-opentype"),
  url("../../src/theme/fonts/fontName.woff") format("woff"),
  url("../../src/theme/fonts/fontName.ttf") format("truetype"),
  url("../../src/theme/fonts/fontName.svg#fontName") format("svg");
  font-weight: normal;
  font-style: normal;
}
0
répondu Paweł Bednarczyk 2018-08-10 09:48:20