Les scripts JavaScript en ligne peuvent-ils avoir un attribut source ?
La question se pose concernant la validité d'un script JavaScript en ligne avec un attribut source, tels que :
<code class="html"><script type='text/javascript' src='/path/to/script.js'> alert('Do some stuff here, using resources defined in script.js.'); </script></code>
Contrairement à l'utilisation courante de JavaScript où les scripts sont inclus via un attribut source et exécutés séparément, cet exemple tente de combiner les deux approches.
Comportement officiel
Le comportement officiel, tel que défini par la spécification HTML 4.01, dicte qu'un script en ligne ne peut pas avoir d'attribut source. La spécification indique :
"Si l'attribut src n'est pas défini, les agents utilisateurs doivent interpréter le contenu de l'élément comme le script. Si le src a une valeur URI, les agents utilisateurs doivent ignorer le contenu de l'élément et récupérer le script via l'URI."
Cela signifie que le contenu du script en ligne sera ignoré si un attribut source est présent.
Comportement du navigateur
Dans En pratique, les principaux navigateurs interprètent cette spécification comme suit :
Bonnes pratiques
À éviter En cas d'incohérences potentielles du navigateur, il est recommandé d'utiliser soit un script en ligne, soit un fichier de script distinct, mais pas les deux simultanément. Cette approche garantit un comportement cohérent et prévisible sur tous les navigateurs.
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!