


Comment améliorer les performances de la page avec un chargeur de police
Feb 21, 2025 am 08:25 AM
Résumé des points clés
- L'utilisation d'un chargeur de polices peut considérablement améliorer les performances de la page Web car elle peut contr?ler la synchronisation de chargement et les polices de page Web, raccourcissant ainsi le temps de chargement de la page et évitant "le scintillement de texte non syntylé" (FOT).
- webfontloader La bibliothèque JavaScript est un outil très utile qui peut charger des polices à partir de diverses sources en arrière-plan après le chargement de la page et permet la personnalisation du processus de chargement à l'aide des fonctions de rappel CSS et JavaScript.
- L'utilisation des polices et l'expérience utilisateur doivent être équilibrées; tandis que les polices peuvent améliorer l'esthétique du site Web, le chargement d'un grand nombre de polices ou de polices ralentira le chargement de la page, en particulier sur les appareils mobiles. Par conséquent, l'utilisation des chargeurs de police et la mise en ?uvre de polices alternatives peuvent aider à maintenir une expérience utilisateur fluide et rapide.
Un merci spécial à Jason PaMments pour l'inspiration qui a conduit à l'écriture de cet article. Sinon, je ne pense jamais à cela! La dernière fois que vous avez utilisé Arial, Times New Roman, Helvetica ou… (effrayant) sur une page Web… quand était la bande dessinée sans? Les polices Web apparaissent trop tard, mais une fois qu'ils apparaissent, nous ne regardons jamais en arrière. Les polices sont amusantes, (généralement) gratuites et faciles à mettre en ?uvre:
<code>@import url(http://fonts.googleapis.com/css?family=Ubuntu:300,300italic,400,400italic,500,500italic,700,700italic);</code>
Vous pouvez ensuite utiliser la police dans votre page, par exemple:
<code>body { font-family: Ubunutu, sans-serif; font-weight: 400; }</code>
Les polices fonctionnent correctement sur les appareils mobiles, afin que les utilisateurs acquièrent une bonne expérience dans votre conception Web réactive. ou est-ce vraiment le cas?
Après l'image, les polices sont généralement la plus grande ressource de la page Web. La police d'Ubuntu ci-dessus ajoute près de 250 Ko à la page, ce qui est évident sur les connexions de réseau mobile plus lentes. Chrome, IE, Safari et l'opéra laissent un espace vide lorsque la police est chargée, de sorte que la page ne peut pas être utilisée. Firefox et les anciennes versions de l'opéra affichent du texte dans des polices et un commutateur alternatifs - cela est appelé clignotement de texte non style (FOT). Aucune de ces situations n'est idéale. Nous nous inquiétons rarement des problèmes de pondération des polices et faisons des excuses comme ?ce n'est qu'un problème avec la première page? ou ?de nombreux utilisateurs ont des polices mises en cache?. Nous pouvons omettre des polices moins utilisées; par exemple, la suppression de la plupart des styles italiques Ubuntu peut économiser près de 40%. Peu de gens osent adopter des solutions évidentes en utilisant des polices de système d'exploitation standard - nos clients et designers ne nous pardonneront jamais.
JavaScript webfontloader
Heureusement, il existe une autre option: WebFontloader. Cette bibliothèque JavaScript peut charger des polices de Google, Typekit, Fonts.com, Fontdeck ou votre propre serveur en arrière-plan après le chargement de la page. La bibliothèque elle-même ajoute 17 Ko supplémentaires à la page, mais elle sera également téléchargée en tant que processus d'arrière-plan. Pour charger la police Ubuntu ci-dessus, nous créons un objet global appelé webfontconfig qui définit nos polices et paramètres, puis charge le webfontloader lui-même:
<code>@import url(http://fonts.googleapis.com/css?family=Ubuntu:300,300italic,400,400italic,500,500italic,700,700italic);</code>
Par conséquent, nous pouvons déterminer si certaines ou toutes les polices sont chargées en fonction de l'appareil et de la capacité de bande passante. Idéalement, nous pouvons utiliser l'API d'information réseau, mais la prise en charge du navigateur est toujours limitée. Alternativement, notez le paramètre de délai d'expiration dans WebFontConfig; si le fichier de police prend plus de deux secondes à télécharger, la demande sera abandonnée.
Fonction de rappel CSS
WebFontloader applique le nom de classe à l'élément HTML pendant l'opération:
-
.wf-loading
- Toutes les polices sont demandées -
.wf-active
- Toutes les polices sont disponibles -
.wf-inactive
- Impossible de charger des polices
Le nom de classe sera également appliqué à chaque police:
-
.wf-<familyname>-<fvd>-loading</fvd></familyname>
- Police unique demandée -
.wf-<familyname>-<fvd>-active</fvd></familyname>
- Disponible en une seule police -
.wf-<familyname>-<fvd>-inactive</fvd></familyname>
- Impossible de charger une seule police
où <familyname></familyname>
est une version purifiée du nom de la police, et <fvd></fvd>
est une description de variante, comme I4 représente l'italique de 400 épaisseur. Cela nous permet de changer de polices après les téléchargements de police - de la même manière que Firefox, par exemple:
<code>body { font-family: Ubunutu, sans-serif; font-weight: 400; }</code>
Fonction de rappel JavaScript
Les fonctions de rappel JavaScript similaires peuvent être définies dans webfontconfig, bien que cela soit rarement utile, tel que:
var WebFontConfig = { google: { families: [ 'Ubuntu:400,300,400italic,300italic,500italic,500,700,700italic:latin' ] }, timeout: 2000 }; (function(){ var wf = document.createElement("script"); wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; wf.async = 'true'; document.head.appendChild(wf); })();
Reportez-vous à la documentation WebFontloader pour plus d'informations.
Minimiser Fout
Si votre police alternative est très différente de votre police Web en termes de style, d'épaisseur ou d'espacement, le clignotement de texte non style peut être sévère. Cependant, avec juste une petite expérience, vous pouvez ajuster la police alternative, l'épaisseur, la hauteur de la ligne et les marges pour vous assurer que les éléments de la page restent à peu près les mêmes lors du chargement des polices Web ... Voir Craig Buckler sur l'article Codepen (@craigbuckler) " Comment utiliser le chargeur de police ".
Cliquez sur le bouton "Switch Font" pour afficher l'effet de commutation de police. Ce changement n'est pas entièrement peu évident, mais il est important que si les utilisateurs commencent à lire, ils ne perdent pas leur place. Vous pouvez ajouter un bouton "Switch Font" à n'importe quelle page pour vous aider à évaluer le style alternatif approprié:
/* 默認(rèn)操作系統(tǒng)字體 */ body { font-family: arial, sans-serif; } /* 字體現(xiàn)在已加載 */ .wf-active body { font-family: 'Ubuntu'; }
En bref: l'utilisation des polices peut être gratuite, mais essayez de minimiser le co?t des utilisateurs. Si vous chargez 1 Mo de fichiers de police, votre conception Web réactive soigneusement créée ne convient pas aux appareils mobiles!
(Ce qui suit est la partie FAQ, qui a été réécrite et intégrée en fonction du texte d'origine, et une partie du contenu a été rationalisée)
Les questions fréquemment posées sur l'utilisation du chargeur de police pour améliorer les performances de la page Web
Qu'est-ce qu'un chargeur de police? Pourquoi est-ce important pour les performances des pages?
Font Loader est un outil qui vous permet de contr?ler la fa?on dont les polices Web sont chargées sur votre site Web. Il est important pour les performances des pages car il peut aider à réduire le temps de chargement du site Web. Lorsque la page Web se charge, le navigateur doit télécharger toutes les ressources nécessaires, y compris les polices. Si la police est grande ou grande, cela ralentira le temps de chargement de la page. Les chargeurs de police vous permettent de contr?ler comment et comment ces polices sont chargées, ce qui peut améliorer considérablement les performances de votre page.
Comment le chargeur de police améliore-t-il les performances de la page?
Le chargeur de police améliore les performances de la page en vous permettant de contr?ler le chargement des polices Web. Vous pouvez choisir de charger des polices de manière asynchrone, ce qui signifie qu'ils ne bloqueront pas le rendu pour le reste de la page. Cela peut réduire considérablement le temps nécessaire pour que la page devienne interactive. De plus, le chargeur de police peut aider à empêcher le phénomène "Flicching de texte non utilisé" (FOUT), où le navigateur affiche des polices alternatives pendant que la police Web se charge toujours.
Quels sont les chargeurs de police couramment utilisés?
Plusieurs chargeurs de polices couramment utilisés sont disponibles, y compris le chargeur Webfont de Google et le chargeur WebFont de Typekit. Les deux outils offrent plusieurs options pour contr?ler la fa?on dont les polices Web sont chargées. Il existe également des plugins WordPress (tels que Developry Google Fonts) qui peuvent facilement implémenter le chargement des polices sur votre site Web.
Comment implémenter le chargeur de polices sur mon site Web?
La mise en ?uvre d'un chargeur de polices sur votre site Web nécessite généralement l'ajout d'un script à votre HTML. Ce script chargera le chargeur de police et vous pouvez ensuite utiliser l'API du chargeur de police pour contr?ler la fa?on dont les polices Web sont chargées. Le processus exact peut varier en fonction du chargeur de police que vous utilisez, il est donc préférable de se référer à la documentation pour des instructions spécifiques.
Puis-je utiliser le chargeur de police avec une police Web?
La plupart des chargeurs de police sont compatibles avec n'importe quelle police Web, tant que la police est hébergée d'une manière qui permet au chargeur de police de se charger. Cela comprend les polices et les polices auto-hébergées hébergées par des services de police tels que Google Fonts ou Typekit.
L'utilisation d'un chargeur de police affectera-t-elle l'apparence de mes polices?
L'utilisation d'un chargeur de police peut affecter l'apparence de vos polices car elle peut aider à prévenir les FOT. Cependant, il ne devrait pas modifier la conception ou le style réel de la police. Si vous remarquez des modifications de l'apparence de la police après la mise en ?uvre du chargeur de police, cela peut être d? à des problèmes de configuration.
Qu'est-ce que "clignotement du texte non style" (FOT)? Comment un chargeur de police l'empêche-t-il?
fout est un phénomène où le navigateur affiche des polices alternatives lorsque la police Web se charge toujours. Cela peut provoquer un bref clignotant de texte, avec la police différente de la police finale, ce qui peut rendre l'utilisateur mal à l'aise. Les chargeurs de police empêchent Fout en vous permettant de contr?ler lorsque vous appliquez des polices Web au texte. Par exemple, vous pouvez choisir de masquer le texte jusqu'à ce que la police Web soit chargée, ou vous pouvez afficher le texte dans la police alternative et le remplacer après le chargement de la police Web.
Le chargeur de police peut-il améliorer le référencement de mon site Web?
Oui, les chargeurs de police peuvent améliorer le référencement de votre site Web en réduisant le temps de chargement des pages. Le temps de chargement des pages est un facteur que les moteurs de recherche envisagent lors du classement des sites Web, vous pouvez donc faire n'importe quoi pour le réduire, ce qui peut améliorer votre référencement.
Y a-t-il des inconvénients à l'utilisation d'un chargeur de police?
Un inconvénient potentiel de l'utilisation d'un chargeur de police est qu'il peut augmenter la complexité du code du site Web. Cependant, les avantages de l'amélioration des performances des pages et de l'expérience utilisateur l'emportent souvent sur ce désavantage. De plus, de nombreux chargeurs de polices ont une bonne documentation et un bon soutien, ce qui les rend relativement faciles à mettre en ?uvre.
Comment savoir si le chargeur de police améliore les performances de ma page?
Vous pouvez utiliser divers outils pour mesurer les performances de votre page avant et après la mise en ?uvre du chargeur de police. Ces outils peuvent fournir des mesures telles que le temps de chargement des pages, le premier temps de dessin et le temps interactif, ce qui peut vous aider à quantifier l'impact du chargeur de police. Certains outils de mesure des performances couramment utilisés incluent le phare de Google et WebPageTest.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le mécanisme de collecte des ordures de JavaScript gère automatiquement la mémoire via un algorithme de compensation de balises pour réduire le risque de fuite de mémoire. Le moteur traverse et marque l'objet actif de l'objet racine, et non marqué est traité comme des ordures et effacés. Par exemple, lorsque l'objet n'est plus référencé (comme la définition de la variable sur NULL), il sera publié lors de la prochaine série de recyclage. Les causes courantes des fuites de mémoire comprennent: ① des minuteries ou des auditeurs d'événements non diffusés; ② Références aux variables externes dans les fermetures; ③ Les variables globales continuent de contenir une grande quantité de données. Le moteur V8 optimise l'efficacité du recyclage à travers des stratégies telles que le recyclage générationnel, le marquage incrémentiel, le recyclage parallèle / simultané, et réduit le temps de blocage principal. Au cours du développement, les références globales inutiles doivent être évitées et les associations d'objets doivent être rapidement décorées pour améliorer les performances et la stabilité.

Il existe trois fa?ons courantes d'initier des demandes HTTP dans Node.js: utilisez des modules intégrés, Axios et Node-Fetch. 1. Utilisez le module HTTP / HTTPS intégré sans dépendances, ce qui convient aux scénarios de base, mais nécessite un traitement manuel de la couture des données et de la surveillance des erreurs, tels que l'utilisation de https.get () pour obtenir des données ou envoyer des demandes de post via .write (); 2.AXIOS est une bibliothèque tierce basée sur la promesse. Il a une syntaxe concise et des fonctions puissantes, prend en charge l'async / attendre, la conversion JSON automatique, l'intercepteur, etc. Il est recommandé de simplifier les opérations de demande asynchrones; 3.Node-Fetch fournit un style similaire à la récupération du navigateur, basé sur la promesse et la syntaxe simple

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la cha?ne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

Bonjour, développeurs JavaScript! Bienvenue dans JavaScript News de cette semaine! Cette semaine, nous nous concentrerons sur: le différend de marque d'Oracle avec Deno, les nouveaux objets Time JavaScript sont pris en charge par les navigateurs, les mises à jour Google Chrome et certains outils de développeurs puissants. Commen?ons! Le différend de marque d'Oracle avec la tentative de Deno Oracle d'enregistrer une marque "JavaScript" a provoqué la controverse. Ryan Dahl, le créateur de Node.js et Deno, a déposé une pétition pour annuler la marque, et il pense que JavaScript est un niveau ouvert et ne devrait pas être utilisé par Oracle

Quel framework JavaScript est le meilleur choix? La réponse est de choisir la plus appropriée selon vos besoins. 1.RIATT est flexible et gratuit, adapté aux projets moyens et grands qui nécessitent une personnalisation élevée et des capacités d'architecture d'équipe; 2. Angular fournit des solutions complètes, adaptées aux applications au niveau de l'entreprise et à la maintenance à long terme; 3. Vue est facile à utiliser, adaptée à des projets de petite et moyenne taille ou à un développement rapide. De plus, s'il existe une pile technologique existante, la taille de l'équipe, le cycle de vie du projet et si le RSS est nécessaire sont également des facteurs importants dans le choix d'un cadre. En bref, il n'y a pas absolument le meilleur cadre, le meilleur choix est celui qui convient à vos besoins.

Iife (immédiatementInvokedFunctionExpression) est une expression de fonction exécutée immédiatement après la définition, utilisée pour isoler les variables et éviter de contaminer la portée globale. Il est appelé en emballage la fonction entre parenthèses pour en faire une expression et une paire de supports immédiatement suivis, tels que (function () {/ code /}) ();. Ses utilisations de base incluent: 1. évitez les conflits variables et empêchez la duplication de la dénomination entre plusieurs scripts; 2. Créez une portée privée pour rendre les variables internes invisibles; 3. Code modulaire pour faciliter l'initialisation sans exposer trop de variables. Les méthodes d'écriture courantes incluent les versions passées avec des paramètres et des versions de la fonction flèche ES6, mais notez que les expressions et les liens doivent être utilisés.

La promesse est le mécanisme central pour gérer les opérations asynchrones en JavaScript. Comprendre les appels de cha?ne, la gestion des erreurs et les combinants est la clé pour ma?triser leurs applications. 1. L'appel de la cha?ne renvoie une nouvelle promesse à travers. Puis () pour réaliser la concaténation des processus asynchrones. Chaque .then () re?oit le résultat précédent et peut renvoyer une valeur ou une promesse; 2. La gestion des erreurs doit utiliser .catch () pour attraper des exceptions pour éviter les défaillances silencieuses, et peut renvoyer la valeur par défaut dans Catch pour continuer le processus; 3. Combinateurs tels que promesse.all () (réussi avec succès uniquement après tout succès), promesse.race () (le premier achèvement est retourné) et promesse.allsetTled () (en attente de toutes les achèvements)

Cacheapi est un outil fourni par le navigateur pour mettre en cache les demandes de réseau, qui est souvent utilisée en conjonction avec travailleur de service pour améliorer les performances du site Web et l'expérience hors ligne. 1. Il permet aux développeurs de stocker manuellement des ressources telles que des scripts, des feuilles de style, des photos, etc.; 2. Il peut faire correspondre les réponses du cache en fonction des demandes; 3. Il prend en charge la suppression des caches spécifiques ou la nettoyage du cache entier; 4. Il peut mettre en ?uvre des stratégies de priorité de cache ou de priorité de réseau grace à l'écoute des événements Fetch; 5. Il est souvent utilisé pour le support hors ligne, accélérez la vitesse d'accès répétée, préchargement des ressources clés et du contenu de mise à jour des antécédents; 6. Lorsque vous l'utilisez, vous devez faire attention au contr?le de la version du cache, aux restrictions de stockage et à la différence entre le mécanisme de mise en cache HTTP.
