Adloun

JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 1 · Application directe du cours

Le script qui ne trouve rien

Premiers pas en JavaScript · niveau 1 (application)

Énoncé

Une page charge son script par <script src="script.js"></script> dans son en-tête. Le script commence par document.querySelector("#annonce"), et la console affiche Uncaught TypeError: Cannot set properties of null (setting 'textContent').

  • Expliquer l'erreur.
  • Proposer deux corrections qui laissent le script dans l'en-tête.
  • Laquelle fonctionne si la page est ouverte d'un double clic ?

Corrigé

  • Un script classique s'exécute dès qu'il est lu. Dans l'en-tête, le corps n'est pas encore lu : querySelector renvoie null, dont on ne peut pas modifier le textContent.
  • L'une ou l'autre de ces deux lignes :

<script src="script.js" defer></script>
<script type="module" src="script.js"></script>

Dans les deux cas, le script ne s'exécute qu'une fois la page entièrement lue. Avec defer, la console affiche :


Nouveautés : 3
  • Seule la version defer fonctionne en file:// : Chrome refuse de charger un module depuis un fichier local.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →