Comprendre les différentes méthodes pour intégrer du JavaScript dans une page HTML.
Ce script s'exécute au chargement de la page :
Ce script s'exécute aprÚs le chargement du DOM :
Script externe chargé avec l'attribut defer :
Script externe chargé avec l'attribut async :
<!-- Méthode 1 : Dans head -->
<head>
<script>
// Code JavaScript exécuté tÎt
document.addEventListener('DOMContentLoaded', function() {
console.log('Script dans head');
});
</script>
</head>
<!-- Méthode 2 : à la fin de body -->
<body>
<div id="contenu"></div>
<script>
// Code JavaScript exécuté aprÚs le DOM
document.getElementById('contenu').textContent = 'Contenu modifié';
</script>
</body>
<!-- Méthode 3 : Fichier externe avec defer -->
<script src="script.js" defer></script>
<!-- Méthode 4 : Fichier externe avec async -->
<script src="script.js" async></script>
// tp3.js - Script JavaScript externe
// Modification du titre de la page
document.title = 'TP3B - JavaScript Positionnement';
// Modification des titres
const h1 = document.getElementsByTagName('h1')[0];
if (h1) {
h1.innerHTML = 'TP3B - Différentes méthodes d\'intégration JavaScript';
}
// Affichage du résultat pour defer
const resultatDefer = document.getElementById('resultatDefer');
if (resultatDefer) {
resultatDefer.innerHTML = `
â
Script externe avec defer exécuté
Ce script a été chargé avec l'attribut defer.
Il s'exécute aprÚs le parsing du DOM.
`;
}
// Fonction pour le bouton async
function executerAsync() {
const resultatAsync = document.getElementById('resultatAsync');
if (resultatAsync) {
resultatAsync.innerHTML = `
⥠Script async exécuté
Date d'exécution: ${new Date().toLocaleTimeString()}
Les scripts async s'exécutent dÚs qu'ils sont chargés.
`;
}
}
| Méthode | Description | Avantages | Inconvénients |
|---|---|---|---|
| Dans <head> | Script exécuté tÎt | Disponible rapidement | Peut bloquer le rendu |
| Fin de <body> | Script exécuté aprÚs DOM | Pas de blocage | Attente du chargement complet |
| defer | Exécuté aprÚs parsing | Ordre préservé, pas de blocage | Attente du parsing |
| async | Exécuté dÚs chargement | TrÚs rapide | Ordre non garanti |