Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.javascript > #2929

Re: Échappement html et javascript

From Paul Gaborit <Paul.Gaborit@invalid.invalid>
Newsgroups fr.comp.lang.javascript
Subject Re: Échappement html et javascript
Date 2015-07-07 11:26 +0200
Organization EMAC (Ecole des Mines d'Albi-Carmaux)
Message-ID <wt9mvz8co8e.fsf@mirabeau.mines-albi.fr> (permalink)
References <20150707090522.2929985c@free.fr>

Show all headers | View raw


À (at) Tue, 7 Jul 2015 09:05:22 +0200,
Yliur <yliur@free.fr> écrivait (wrote):

> A priori dans mes pages ça fonctionne comme ça : dans le code html à
> proprement parler (par exemple le code d'un événement sur un champ de
> saisie) je dois appliquer les échappements js puis html, mais dans la
> balise <script> seulement les échappements js. Testé avec Firefox
> seulement.
>
> Est-ce que quelqu'un peut confirmer/infirmer ça ? C'est normal, c'est
> écrit dans une norme quelque part ?

C'est normal... Et c'est expliqué et détaillé dans les recommandations
HTML5 (cf. section 4.11.1.2).

Pour HTML4, le contenu d'un élément "script" est de type CDATA. Ce type
est décrit par :

     Le type CDATA représente une séquence de caractères, issus du jeu
     de caractère du document, qui peut inclure des entités de
     caractères. Les agents utilisateurs devraient interpréter les
     valeurs d'attributs ainsi :
       - remplacer les entités de caractères par les caractères
         correspondants ;
       - ignorer les sauts de ligne ;
       - remplacer chaque retour chariot ou tabulation par un espace
         simple.

Mais un peu plus loin, on trouve :

     Bien que les éléments STYLE et SCRIPT utilisent le type « CDATA »
     pour leur modèle de données, les agents utilisateurs doivent
     interpréter différemment le type CDATA pour ceux-ci. Le balisage et
     les entités doivent être traités comme du texte brut et passés tel
     quel à l'application. La première occurence de la séquence de
     caractères « </ » (délimiteur d'ouverture de balise fermante) est
     traitée comme terminant la fin du contenu de l'élément. Dans les
     documents valides, ce serait la balise fermante de l'élément.


-- 
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>

Back to fr.comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Échappement html et javascript Yliur <yliur@free.fr> - 2015-07-07 09:05 +0200
  Re: Échappement html et javascript Paul Gaborit <Paul.Gaborit@invalid.invalid> - 2015-07-07 11:26 +0200
    Re: Échappement html et javascript Yliur <yliur@free.fr> - 2015-07-08 00:55 +0200

csiph-web