Chargement des polices et media="print"

Fermé
Celio - 13 avril 2022 à 11:42
 Celio - 13 avril 2022 à 13:58
Bonjour,

J'utilise les valeurs suivantes pour charger ma police sur un site Internet :

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;1,300;1,400&display=swap" rel="stylesheet">


et dans mon CSS :

html {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 16px !important;}


Lors du chargement de la page, parce que l'option du font-display est à swap, je vois à l'écran le remplacement de la police. Ce qui me gêne. J'ai essayé de le passer à
block
, cela n'a rien changé.

J'ai essayé d'ajouter media="print" onload="this.media='all'", ainsi ;

<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;1,300;1,400&display=swap" rel="stylesheet" media="print" onload="this.media='all'">


cela n'a rien changé non plus. Par contre, en faisant une mauvaise manipulation, je me suis rendu compte qu'avec la ligne suivante ;

<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;1,300;1,400&display=swap" rel="stylesheet" media="print"


le résultat est juste parfait. Ma police apparaît directement correctement et incroyablement rapidement. En l'occurrence, ce n'est pas un usage conventionnel de media="print", et je me doute bien que ce n'est pas une bonne pratique.

L'un d'entre vous pourrait-il m'aider à trouver une explication et une manière de faire apparaître ma police correctement avec les bons usages ?

Cordialement,

Celio
A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
13 avril 2022 à 13:52
Bonjour,

A mon avis, si ta police se charge rapidement suite à tes différents tests, c'est surement car la police est déjà dans le cache de ton navigateur. Essaye de vider le cache ou utilise le raccourci Ctrl + F5 pour recharger la page sans utiliser le cache.

Je ne vois pas vraiment de solution à apporter, ton premier code (fourni par Google Fonts) est bien correct avec les bons usages.

Pour améliorer le temps de chargement, tu pourrais éventuellement supprimer des variantes si elles ne sont pas utilisées (Light 300, italic, etc.). Ou charger les variantes via une deuxième balise link et conserver dans la première uniquement la variante la plus utilisée afin de la charger plus rapidement.
0
Bonjour,

Merci pour ce retour rapide.

Le cache est bel et bien vide avant chacun de mes tests. Ce fameux media="print" change tout.
Je suis un peu démuni face à ce résultat.

J'ai cependant réussi à changer le swap en block avec une différence au bout. J'avais dû faire une faute de frappe...

C'est une bonne idée, je vais essayer d'appeler les variantes avec deux links différents pour voir si ça change quelque chose.

En attendant, si d'autres trouvent la raison de ce comportement avec media="print", je suis preneur.

Merci encore.

Celio
0