Les polices de caractères Google ne rendent pas sur Google Chrome

je suis en train de construire un nouveau thème WordPress (Je ne sais pas si c'est pertinent) et il y a ce problème qui ne cesse de m'embêter.

J'ai chargé Roboto Slab à partir de Google Webfonts (inclus le CSS dans la section <head> ). Sur tous les autres navigateurs, la police est rendue OK, sauf Google Chrome. Lorsque je charge pour la première fois le site Web dans Google Chrome, les textes utilisant cette police personnalisée ne sont pas affichés du tout (même Tho font-stack a la Géorgie comme un repli - "Roboto Slab", Georgia, serif; ). Après avoir survolé le lien stylé, ou retrigger n'importe quelle propriété CSS dans Inspector - textes deviennent visibles.

depuis que j'ai commencé le thème il y a quelque temps, je me souviens clairement que ça marchait parfaitement avant. Est-ce que C'est un bug de mise à jour de Chrome?

première charge : une capture d'écran #1

après que j'ai réappliqué n'importe laquelle des propriétés CSS, obtenir dans la vue responsive ou Passez un élément : une capture d'écran #2

Quelqu'un a des problèmes similaires? Comment dois-je procéder?

Merci!

63
demandé sur enodekciw 2014-02-25 14:20:12

15 réponses

apparemment c'est un bug chromé connu . Il y a une solution css-only qui devrait résoudre le problème:

body {
    -webkit-animation-delay: 0.1s;
    -webkit-animation-name: fontfix;
    -webkit-animation-duration: 0.1s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
}

@-webkit-keyframes fontfix {
    from { opacity: 1; }
    to   { opacity: 1; }
}

il semble que Chrome a juste besoin d'être dit de repeindre le texte

87
répondu Meg 2014-02-27 20:52:14

le correctif CSS n'a pas fonctionné pour moi, et le script de retard de 0,5 sec semble maladroit.

Ce JS extrait semble fonctionner pour nous:

<script type="text/javascript">
jQuery(function($) {
    if (/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())) {
        $('body').css('opacity', '1.0') 
    }
})
</script>
9
répondu kjetilh 2014-03-25 14:36:06

si le correctif css ne fonctionne pas pour vous

dans le cas où le premier poste noté ne fonctionne pas, voici une solution:

supprimer le 'http:':

<link href='http://fonts.googleapis.com/css?family=Alfa+Slab+One' rel='stylesheet' type='text/css'> 

ou

@import url(http://fonts.googleapis.com/css?family=Alfa+Slab+One);

comme expliqué par David Bain , la plupart des navigateurs modernes ne nécessitent pas réellement que vous spécifiez le protocole, ils vont "déduire" le protocole basé sur le contexte duquel vous l'avez appelé

8
répondu JohnAndrews 2017-05-23 12:02:17

a essayé le fixateur css seul ci-dessus sans succès. Enfin résolu en créant une feuille de style (chrome.css) contenant:

body {
 -webkit-animation-delay: 0.1s;
 -webkit-animation-name: fontfix;
 -webkit-animation-duration: 0.1s;
 -webkit-animation-iteration-count: 1;
 -webkit-animation-timing-function: linear;
}

@@-webkit-keyframes fontfix {
 from { opacity: 1; }
 to   { opacity: 1; }
}

et le charger avec jquery au bas de la page:

<script type="text/javascript">
   $(document).ready(function () {
      $('head').append('<link href="/chrome.css" rel="stylesheet" />');
   });
</script>
6
répondu Andrew 2014-04-04 09:24:09

j'ai incorporé les CSS ci-dessus ... mais j'inclus aussi le javascript suivant dans mon en-tête:

(Note, je sais que je n'ai pas personnalisé les polices dans le code ci-dessous. Mais quoi qu'il en soit, cela semble quand même aider à forcer Chrome à repeindre les polices sur la page ... assurez-vous juste que vos polices sont correctement référencées ailleurs)

avec les CSS mentionnés ci-dessus utilisés en conjonction avec le code ci-dessous inclus dans my ... au pire, toutes les polices de ma page s'affichera après une seconde de retard.

Espérons que cela aide les gens. Acclamation.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">

 $(function() { $('body').hide().show(); });
</script>


<script type="text/javascript">

//JavaScript goes here


WebFontConfig = {
  google: { families: ['FontOne', 'FontTwo'] },
    fontinactive: function (fontFamily, fontDescription) {
   //Something went wrong! Let's load our local fonts.
    WebFontConfig = {
      custom: { families: ['FontOne', 'FontTwo'],
      urls: ['font-one.css', 'font-two.css']
    }
  };
  loadFonts();
  }
};

function loadFonts() {
  var wf = document.createElement('script');
  wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
    '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
  wf.type = 'text/javascript';
  wf.async = 'true';
  var s = document.getElementsByTagName('script')[0];
  s.parentNode.insertBefore(wf, s);
}

(function () {
  //Once document is ready, load the fonts.
  loadFonts();
  })();

</script>

voici où j'ai trouvé le ci-dessus: https://productforums.google.com/forum/#!thème / chrome / tYHSqc-fqso

2
répondu Nate 2014-03-02 19:37:39

Je l'ai fait réparer avec la solution JS, mais j'ai aussi eu besoin d'utiliser la dernière version de google hosted jquery (1.11) Pour la faire réparer.

1
répondu Conor O Kelly 2014-04-01 00:30:54

je viens de faire face au même problème. I il était dû à L'inadéquation du protocole HTTP/S comme décrit ici .

Use https version D'URL.

1
répondu Emad Ehsan 2015-09-20 21:19:38

ce n'est pas une solution réelle mais cela fonctionne mieux pour moi que tout le reste dans ce fil. J'ai changé la police. J'ai eu Fira Sans et maintenant vient de changer à Roboto qui fonctionne hors de la boîte.

0
répondu b1nary 2015-06-04 17:34:04

je viens d'utiliser pour supprimer la police roboto de mes polices windows et tout fonctionne en ce moment.

c'est peut-être parce que vous avez une ancienne version de police sur votre système . je suppose que .

0
répondu jimuty 2015-09-21 18:06:36

j'essayais de travailler avec la réponse de Meg,mais comme beaucoup d'autres, il n'a pas fonctionné pour moi non plus.

pour L'utilisation de Google Font,trouvé cette astuce[ajouter des captures d'écran pour les étapes].

1) Il suffit de prendre l'url du lien css ou standard comme surligné.

2) Ouvrez le lien dans un autre onglet, Copiez le code css entier(i.e. police-face) dans votre fichier CSS et exécutez.

pas sûr de la performance comme beaucoup d'appels http sont être ajouté, ou tout simplement essayer de copier une police-face.

Image pour l'étape 1 enter image description here

Image pour l'étape 2 enter image description here

0
répondu Akshay 2015-10-03 20:31:16

il est possible que l'élément ait text-rendering: optimizeLegibility ensemble qui peut causer ceci, ou similaire, des problèmes. Le changer en auto a corrigé ce problème pour moi avec un projet de la Fondation 5 qui le fixe à optimizeLegibility par défaut.

0
répondu MarcGuay 2016-03-18 20:29:52

voir problème similaire en question problème étrange alors que Google Font le rendu .

Solution est dans le chargement de la police désirée (je mon cas 'Fira Sans') à partir du CDN Mozilla au lieu de CDN Google.

0
répondu Sebastiaan Ordelman 2017-05-23 12:09:58

il ne peut pas être une balle d'argent, mais fixer le problème sur notre site en déplaçant le lien CSS fontawesome au bas de nos pages ainsi que weblike correction énumérés ci-dessus.

-1
répondu John Rossitter 2014-04-08 16:42:03

si les gens ont encore ce problème avant que vous essayez toutes les grandes solutions sur ICI essayer d'utiliser un !étiquette importante dans votre css pour voir si cela va le corriger, comme il l'a fait pour moi et je ne suis pas sûr si le bug est le même que le vieux bug Chrome.

.faultyText {"Roboto Slab", Georgia, serif !important}
-1
répondu Neil Philip Whitehead 2015-04-22 15:52:38

check-out plugin I made: https://chrome.google.com/webstore/detail/fontfix/ekgfbmjaehhpbakdbpfmlepngjkaalok

il fait le réalignement web avec javascript pur, qui obligent le navigateur à redessiner la page entière.

-3
répondu Tomasz 2014-04-10 07:45:17