Aller directement au contenu principal
Boris Schapira
  • Notes
  • À propos
  • Partager
  • Bookmarks

Pourquoi mon script asynchrone bloque-t-il le rendu de ma page ?

10 août 2021

Une très bonne manière de mesurer l’impact d’une ressource tierce, comme un script, est de mesurer la performance de la page avec et sans ce script. Nombreux sont mes clients qui découvrent alors que leurs scripts, qu’ils ont pourtant chargé avec les attributs async et defer, sont bloquants pour le rendu.

Et c’est normal. D’après la spécification HTML (source), un script async defer est, en fait, un script async partout où async est supporté, c’est-à-dire partout. Un script async est téléchargé avec une priorité basse, voire la plus basse. En revanche, une fois qu’il est disponible, il est exécuté immédiatement, interrompant les tâches en cours (y compris les tâches de rendu).

Si vous cherchez d’autres manières de télécharger des scripts, en voici au moins sept.

Et pour tout comprendre des attributs permettant de différer ou rendre asynchrone un script, c’est par ici.

Si vous détectez une erreur et que vous avez un compte Github, vous pouvez proposer une modification des sources ou ouvrir un ticket.

Précédent :⇠
Suivant :⇢

Catégories

  • Récents
  • web
  • citoyen
  • papa

Retrouvez-moi sur Github, LinkedIn, Mastodon (perso) et Mastodon (pro).
Site statique compilé par Jekyll, propulsé par Netlify et Cloudinary.
Abonnez-vous au flux