Pour ajouter à ce que Brad et squadette l'ai dit, l'auto-fermeture de la syntaxe XML, <script />
fait est correct XML, mais pour que cela fonctionne dans la pratique, votre serveur web doit également envoyer vos documents correctement formé XML avec XML, type mime comme application/xhtml+xml
dans le HTTP header Content-Type (et pas qu' text/html
).
Cependant, l'envoi d'un XML type mime sera la cause de vos pages de ne pas être analysé par IE7, qui aime seulement text/html
.
De w3:
En résumé, 'application/xhtml+xml"
DEVRAIT être utilisé pour le XHTML Famille
les documents, et l'utilisation de 'text/html'
DEVRAIT être limitée à HTML-compatible
XHTML 1.0 documents. "application/xml"
et 'text/xml' PEUT également être utilisé, mais
le cas échéant,
"application/xhtml+xml' DOIT être utilisé
plutôt que de ceux XML générique médias
les types.
J'ai demandé il y a quelques mois, et la seule viable (compatible avec FF3+ et IE7) solution a été d'utiliser le vieux - <script></script>
syntaxe, text/html
(syntaxe HTML + HTML mimetype).
Si votre serveur envoie l' text/html
type dans ses en-têtes HTTP, même avec autrement correctement formé des documents XHTML, FF3+ agira d'utiliser le mode de rendu HTML ce qui signifie qu' <script />
ne fonctionnera pas (ce qui est un changement, Firefox était déjà moins strict).
Ce sera le cas, indépendamment de tout tripoter http-equiv
balises meta, le prologue XML ou doctype à l'intérieur de votre document, Firefox branches une fois qu'il obtient l' text/html
- tête, qui détermine si le HTML ou XML parser regarde à l'intérieur du document, et l'analyseur HTML ne comprends pas <script />
.