Maison >interface Web >js tutoriel >Les scripts JavaScript en ligne peuvent-ils utiliser un attribut « src » ?

Les scripts JavaScript en ligne peuvent-ils utiliser un attribut « src » ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 09:05:02322parcourir

 Can Inline JavaScript Scripts Use a `src` Attribute?

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 :

  • Chrome, Firefox, Edge : Le contenu du script en ligne est ignoré et seul le script défini dans le fichier source est exécuté.
  • Safari :Le script en ligne et le fichier source sont exécutés.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn