Quelle est la différence entre les attributs «lang» et «type» dans une balise de script?

StackOverflow https://stackoverflow.com/questions/112482

  •  02-07-2019
  •  | 
  •  

Question

Pour les balises HTML < script > , quelle est la différence technique entre lang = Javascript et type = text / javascript ?

J'utilise habituellement les deux, car j'ai toujours supposé que les anciens navigateurs avaient besoin de l'un ou de l'autre.

Était-ce utile?

La solution

Conformément aux spécifications HTML 4.01 :

  

tapez :       Cet attribut spécifie le langage de script du contenu de l'élément et remplace le langage de script par défaut. Le langage de script est spécifié en tant que type de contenu (par exemple, "text / javascript"). Les auteurs doivent fournir une valeur pour cet attribut. Il n'y a pas de valeur par défaut pour cet attribut.

     

langue : obsolète. Cet attribut spécifie le langage de script du contenu de cet élément. Sa valeur est un identifiant pour la langue, mais comme ces identifiants ne sont pas standard, cet attribut est déconseillé en faveur de type.

Autres conseils

< script language = "" > " peut être utilisé pour servir VBScript et différentes versions de Javascript.

À moins que vous n'ayez besoin d'une version spécifique de Javascript, n'utilisez pas l'attribut language, votre code fonctionnera normalement, sans lui.

Même si vous avez besoin d'une version Javascript spécifique pour une partie du code, essayez de vérifier si la fonctionnalité existe à la place, avec une vérification (typeof window.blah.feature! = "non définie").

Voici un exemple d'utilisation de l'attribut language: http://bclary.com/2004/08/27/javascript-version- incompatibilités

L'attribut de langue est obsolète en raison de ce comportement mal défini ou incertain.

L'attribut type est totalement différent. Il indique au navigateur le type de script mime et doit toujours être spécifié dans une balise de script.

langue est l'ancien attribut, type est le nouvel. Pour utiliser légalement les deux attributs, vous devez utiliser un doctype transitoire (pas positif à ce sujet, mais assez sûr).

Le PO a spécifiquement déclaré "lang". pas "langue". Le "langage" beaucoup plus ancien " La balise aurait été Javascript ou VBScript.

Mais la balise actuelle et apparemment valide "lang" est en réalité la langue écrite comme l'anglais, Espagnol, japonais. Microsoft Visual Studio fournit une liste déroulante pour les valeurs de " lang " et ils sont tous comme en-us, fr, ja, etc. pour anglais américain, français, japonais, etc ...

Je pense que il pourrait exister des raisons valables d'utiliser cette balise si vous avez une configuration multilingue complexe. Peut-être qu'un système de gestion de contenu pourrait le prendre en charge et fournir ensuite le fichier javascript approprié, comme Ressources de contrôle jQuery?

Le type est plus général et fait référence au codage mime du bloc de script. Autant que je sache, vous n’avez besoin que d’un seul et le bloc fonctionnera généralement sans attribut type ni lag.

J'ai tendance à utiliser le type.

langue est la langue du script et type est le type MIME du contenu de la balise de script.

En gros, aucun attribut n’est nécessaire. La seule raison de les utiliser est la validation, qui est devenue nulle dans HTML5 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top