J'ai lu quelque part que vous n'avez plus besoin de choses comme type="text/javascript"
et les bizarres CDATA
et les <!--
choses dans vos balises de script. Donc, au lieu de:
<script type="text/javascript">
//<![CDATA[
<!--
//your script here
-->
//]]>
</script>
Vous feriez juste:
<script>
//your script here
</script>
Je ne me souviens pas où j'ai lu ça. C'était un ingénieur de Google ou Yahoo je pense, et ils ont spécifiquement mentionné quels navigateurs nécessitaient ces constructions archaïques et pourquoi. Quelqu'un sait de quel article de blog on a parlé ou a une bonne ressource pour en parler?
javascript
html
cmcculloh
la source
la source
text/javascript
spécifié, je le supprime. C'est du bruit.Réponses:
Voir la rédaction de Crockford sur l'
<script>
étiquette , notamment:...
la source
RubyScript
devient populaire, il se terminera.rbscript
et le navigateur agira en conséquence.C'est une recommandation de Crockford . Je sais que je l'ai vu faire écho ailleurs (ppk peut-être?). La spécification HTML5 ne l'exige pas.
Curieusement, il est devenu un peu au courant d'utiliser l'attribut "type" pour marquer les
<script>
blocs que vous ne voulez pas être évalués:En donnant un type étrange non JavaScript, vous obtenez un moyen de remplir du texte brut dans la page pour l'utiliser par un autre code JavaScript (qui est probablement dans un bloc de script qui peut être évalué).
la source
type="text/html"
signifie du tout, et ce quetext/javascript
signifie ... merci<script>
bloc. Cependant, le<script>
fera partie du DOM, afin que d'autres codes JavaScript puissent les trouver et extraire leur contenu.In HTML5, the type attribute is no longer required for JavaScript. The default value is "application/javascript".
HTML5 n'a pas besoin de
type="text/javascript"
(c'est la valeur par défaut).CDATA
n'est nécessaire que pour les pages XHTML, si le script contient des caractères HTML (comme «<» et «>»).<!--
ne devrait être nécessaire que pour les ANCIENS navigateurs.la source
Eh bien, je suis tenté de dire que personne ne l'utilise
text/javascript
plus, et que même les outils de minification le supprimeraient probablement ... En effet, la documentation du SDK Facebook précise juste<script>
.Cependant, la documentation du SDK Google l' a toujours
text/javascript
.La documentation Amazon SDK a toujours
text/javascript
.La documentation de l'API Linkedin a toujours
text/javascript
.Instagram utilise toujours
text/javascript
.la source
L' attribut type identifie le langage de script du code incorporé dans un élément de script ou référencé via l'attribut src de l'élément. Ceci est spécifié comme un type MIME; des exemples de types MIME pris en charge incluent text / javascript, text / ecmascript, application / javascript et application / ecmascript.
Selon la spécification HTML 4.01
Mais en HTML5
text/javascript
est le type par défaut, vous pouvez donc omettrela source
vous pensez peut-être cet article ici, la dépendance étant que les scripts par défaut utilisent automatiquement le texte / javascript en HTML5, tandis que les navigateurs non HTML5 s'attendent toujours à ce que vous définissiez le type spécifiquement, même s'ils devineront presque toujours le texte / javascript de toute façon .
la source
c'est au navigateur d'interpréter
script
correctement le bloc en fonction des en-têtes, je crois, et non de l'type
attribut. Donc pour répondre à votre question, non ce n'est pas nécessaire pour les navigateurs modernes (je parle IE7 +, FF, Webkit). Si vous supportez des navigateurs plus anciens que ça ... je suis désolé pour vous =)la source
Si vous insérez une balise de script dans SVG, vous devez spécifier l'attribut type. Et ça devrait être
"text/ecmascript"
plutôt que"text/javascript"
.Si votre script est en ligne (non lié), vous devrez également envelopper le corps du script dans une déclaration CDATA. Le passe-partout de script en ligne pour SVG (et d'autres variantes XML) est donc
Il peut s'agir de cas spéciaux «à l'état sauvage», mais ils sont assez réels et l'utilisation de SVG augmente, il est donc incorrect pour quiconque de suggérer que l'attribut type et CDATA sont entièrement obsolètes dans les navigateurs modernes. Les cas d'utilisation sont étroits, oui, mais pas inconnus.
la source
La norme de reniflage MIME permet de servir JavaScript à l'aide de tout type MIME ( extensions de messagerie Internet polyvalentes ) qui correspond à ce qui suit:
la source
Eh bien, je continue à voir plus d'exemples sans le texte / javascript, mais pour une raison quelconque, mes scripts ne fonctionneront pas dans FF quand je le fais. Je recommanderais de conserver la déclaration text / javascript. La balise CDATA empêche javascript d'être affiché sous forme de texte brut sur votre site Web si votre navigateur a désactivé javascript. Personnellement, je n'utilise plus ces balises, je ne pense pas qu'il y ait beaucoup d'utilisateurs sans et s'ils sont là-bas, ils voudront peut-être faire pousser des cerveaux: P
la source
<script>
, pas de "langage" ni de "type", et elles fonctionnent bien dans tous les navigateurs. (Eh bien, tous les raisonnables: FF, Chrome, Safari, IE, Opera.)type="text/javascript"
: Requis en HTML 4 et XHTML, mais facultatif en HTML5.CDATA
: Obligatoire en XHTML.<!--
: Utilisé pour masquer le JavaScript des très anciens navigateurs. Par exemple: Netscape 1 et Internet Explorer 2, que personne n'utilise plus.la source