Accueil > > > RÉGLER LE PROBLÈME JAVASCRIPT DE L'APOSTROPHE...
RÉGLER LE PROBLÈME JAVASCRIPT DE L'APOSTROPHE...
Information sur la source
Description
Exemple de scripts élémentaires avec un texte comportant divers caractères réservés précédés du backslash et explication...
Source
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
-
- <head>
- <title></title>
- <script type="text/javascript">
- //<![CDATA[
- function a() {
- document.getElementById('A').innerHTML = "<button type=\"button\" id=\"button1\" onclick=\"alert('Coucou');\">Bouton d\'alerte</button>";
- }
- function b() {
- document.getElementById("B").innerHTML = '<button type=\'button\' id=\'button2\' onclick=\'alert("Coucou");\'>Bouton d\'alerte</button>';
- } //' " \ b f n r t v; \' \" \\ \b \f \n \r \t \v
- //]]>
- </script>
- </head>
-
- <body onload="a(); b();">
- <h1>Régler le problème de l'apostrophe...</h1>
- <hr />
- <p>
- Certains caractères présentent la particularité d'être interprétés différemments suivant leur utilisation dans un
- script. Les guillemets ou l'apostrophe par exemple peuvent introduire une valeur d'attribut html ou une valeur de variable, etc.
- Par ex: document.write('<p>Coucou</p>'); ou bien encore var a; a = "coucou"; etc. Selon les situations des
- ambiguités peuvent empécher l'interprétation ce qui arrête l'exécution du script et renvoie une erreur à l'écran.<br />
- </p>
- <p>
- 1/ Le backslash peut être utilisé afin d'oter les ambiguités d'interprétation.
- </p>
- <p>
- 2/ Dans un script les caractères seuls ' " \ b f n r t v sont interprétés différemment s'ils sont précédés ou non
- d'un backslash (les cas de ' " sont traités 3; x et u qui ont aussi une certaine importance ne sont pas traités).<br />
- \ b f n r t v peuvent être de simples caractères formant une expression littérale quelconque...
- </p>
- <button type="button" id="button1" onclick="alert('Coucou\CoucoubCoucoufCoucounCoucourCoucoutCoucouvCoucou');">Bouton d'alerte</button>
- <p>Munient d'un backslash \\ \b \f \n \r \t \v peuvent impliquer une altération du rendu écran de l'expression...</p>
- <button type="button" id="button2" onclick="alert('Coucou\\Coucou\bCoucou\fCoucou\nCoucou\rCoucou\tCoucou\vCoucou');">Bouton d'alerte</button>
- <p>
- 3/ L'utilisation de ' " se fait souvent dans des situations "plus complexes" que précédemment par ex:<br />
- document.getElementById('A').innerHTML = "<button type=\"button\" id=\"button1\" onclick=\"alert('Coucou');\">Bouton d\'alerte</button>";
- </p>
- <div id="A"></div>
- <p>
- Dans ce cas, l'ambiguité, qui réside dans le nombre des interprétations possibles de ' et " inhérentes à leur usage
- et qui retourne une erreur quand elle n'est pas levée, est otée par l'utilisation du backslash qui introduit la
- lecture de la séquence qui suit (le caractère ambigue) d'après son code, alors unique, du type %n°
- (%22 pour guillemet %27 pour apostrophe par exemple).<br />
- Dans le cas ci-dessus donc:<br />
- Les premiers apostrophes permettent dans une instruction de définir un indentifiant.<br />
- Les guillemets qui suivent = et termine le code html à enchasser dans le bloc div définissent une chaine principale
- en tant qu'objet.<br />
- Les guillemets dans la chaine permettent de définir les valeurs des attributs html ils sont indispensables en
- xhtml, mais ne définissent pas un objet.<br />
- Les apostrophes dans la commande d'alerte définissent une expression littérale dans la chaine principale, tandis que le
- texte du bouton n'est qu'une partie de la chaine principale.<br />
- Dans le respect du même schéma il est donc possible d'écrire:<br />
- document.getElementById("B").innerHTML = '<button type=\'button\' id=\'button2\' onclick=\'alert("Coucou");\'>Bouton d\'alerte</button>';
- </p>
- <div id="B"></div>
- <p>
- (Pour mémoire, dans un document HTML l'écriture conventionnelle reste <button type="button" id="button1" onclick="alert('Coucou');">Bouton d'alerte</button>)
- </p>
- <p>
- l'interprétation par la machine est de la forme:<br />
- document.getElementById("B").innerHTML = '<button type=%27button%27 id=%27button1%27 onclick=%27alert("Coucou");%27>Bouton d%27alerte</button>';
- </p>
- <p>
- 4/ Les caractères listés ci-dessus peuvent encore être utilisés dans les commentaires de scripts.
- Afin que leur prise en compte reste celle qui doit être faite pour du texte l'on placera avant deux slachs:
- //' " \ b f n r t v; \' \" \\ \b \f \n \r \t \v (voir source).
- </p>
- <hr />
- Salut, LGH.
- <p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" border="0" height="31" width="88" /></a></p>
- </body>
-
- </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript">
//<![CDATA[
function a() {
document.getElementById('A').innerHTML = "<button type=\"button\" id=\"button1\" onclick=\"alert('Coucou');\">Bouton d\'alerte</button>";
}
function b() {
document.getElementById("B").innerHTML = '<button type=\'button\' id=\'button2\' onclick=\'alert("Coucou");\'>Bouton d\'alerte</button>';
} //' " \ b f n r t v; \' \" \\ \b \f \n \r \t \v
//]]>
</script>
</head>
<body onload="a(); b();">
<h1>Régler le problème de l'apostrophe...</h1>
<hr />
<p>
Certains caractères présentent la particularité d'être interprétés différemments suivant leur utilisation dans un
script. Les guillemets ou l'apostrophe par exemple peuvent introduire une valeur d'attribut html ou une valeur de variable, etc.
Par ex: document.write('<p>Coucou</p>'); ou bien encore var a; a = "coucou"; etc. Selon les situations des
ambiguités peuvent empécher l'interprétation ce qui arrête l'exécution du script et renvoie une erreur à l'écran.<br />
</p>
<p>
1/ Le backslash peut être utilisé afin d'oter les ambiguités d'interprétation.
</p>
<p>
2/ Dans un script les caractères seuls ' " \ b f n r t v sont interprétés différemment s'ils sont précédés ou non
d'un backslash (les cas de ' " sont traités 3; x et u qui ont aussi une certaine importance ne sont pas traités).<br />
\ b f n r t v peuvent être de simples caractères formant une expression littérale quelconque...
</p>
<button type="button" id="button1" onclick="alert('Coucou\CoucoubCoucoufCoucounCoucourCoucoutCoucouvCoucou');">Bouton d'alerte</button>
<p>Munient d'un backslash \\ \b \f \n \r \t \v peuvent impliquer une altération du rendu écran de l'expression...</p>
<button type="button" id="button2" onclick="alert('Coucou\\Coucou\bCoucou\fCoucou\nCoucou\rCoucou\tCoucou\vCoucou');">Bouton d'alerte</button>
<p>
3/ L'utilisation de ' " se fait souvent dans des situations "plus complexes" que précédemment par ex:<br />
document.getElementById('A').innerHTML = "<button type=\"button\" id=\"button1\" onclick=\"alert('Coucou');\">Bouton d\'alerte</button>";
</p>
<div id="A"></div>
<p>
Dans ce cas, l'ambiguité, qui réside dans le nombre des interprétations possibles de ' et " inhérentes à leur usage
et qui retourne une erreur quand elle n'est pas levée, est otée par l'utilisation du backslash qui introduit la
lecture de la séquence qui suit (le caractère ambigue) d'après son code, alors unique, du type %n°
(%22 pour guillemet %27 pour apostrophe par exemple).<br />
Dans le cas ci-dessus donc:<br />
Les premiers apostrophes permettent dans une instruction de définir un indentifiant.<br />
Les guillemets qui suivent = et termine le code html à enchasser dans le bloc div définissent une chaine principale
en tant qu'objet.<br />
Les guillemets dans la chaine permettent de définir les valeurs des attributs html ils sont indispensables en
xhtml, mais ne définissent pas un objet.<br />
Les apostrophes dans la commande d'alerte définissent une expression littérale dans la chaine principale, tandis que le
texte du bouton n'est qu'une partie de la chaine principale.<br />
Dans le respect du même schéma il est donc possible d'écrire:<br />
document.getElementById("B").innerHTML = '<button type=\'button\' id=\'button2\' onclick=\'alert("Coucou");\'>Bouton d\'alerte</button>';
</p>
<div id="B"></div>
<p>
(Pour mémoire, dans un document HTML l'écriture conventionnelle reste <button type="button" id="button1" onclick="alert('Coucou');">Bouton d'alerte</button>)
</p>
<p>
l'interprétation par la machine est de la forme:<br />
document.getElementById("B").innerHTML = '<button type=%27button%27 id=%27button1%27 onclick=%27alert("Coucou");%27>Bouton d%27alerte</button>';
</p>
<p>
4/ Les caractères listés ci-dessus peuvent encore être utilisés dans les commentaires de scripts.
Afin que leur prise en compte reste celle qui doit être faite pour du texte l'on placera avant deux slachs:
//' " \ b f n r t v; \' \" \\ \b \f \n \r \t \v (voir source).
</p>
<hr />
Salut, LGH.
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" border="0" height="31" width="88" /></a></p>
</body>
</html>
Conclusion
Il suffit de copier la page ci-dessus de la coller dans notepad de l'enregistrer au format htm...
Historique
- 13 novembre 2004 14:48:49 :
- Code html et feuille de style mis en conformité avec le W3C
- 28 février 2009 08:27:48 :
- Correction d'un lapsus
- 28 février 2009 12:21:59 :
- Une source ici largement complétée, en souhaitant de cette version qu'elle apporte plus de réponses que la précédente.
- 28 février 2009 12:31:01 :
- Orthographe
- 02 mars 2009 07:41:09 :
- Présentation
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
tester qu'une fenetre est ouverte ou fermer [ par steph ]
salut,comment savoir si une fenetre est ouverte ou fermer ?j'ai ecrit un petit script pour cela, le probléme c'est que si teste que la fenetre est ouv
Style et Script [ par Pocel ]
Débutant,je voudrai changer la couleur de la cellule d'un tableau à la sélection de cette dernière. Pour le moment j'applique un style au onClick, mai
javascript apostrophe [ par tews ]
Salut à tous. J'ai un sale bug sur un marquee (texte défilant). Quand le texte défilant contient une apostrophe, j'obtiens un message d'erreur.Existe-
Récupérer l'adresse d'un document [ par Kariboo ]
Comment récupérer l'adresse du document présent dans la fenêtre principale en exécutant un script EXTERIEUR: Il s'agit en fait d'un script présent dan
Recherche script javascript pour menu deroulant [ par devess ]
Bonjour,J'ai cherché mais je n'ai pas trouvé de script javascript pour faire des menus déroulants avec un affichage d'une fenêtre lors du passage curs
Recherche script javascript pour menu deroulant [ par devess ]
Bonjour,J'ai cherché mais je n'ai pas trouvé de script javascript pour faire des menus déroulants avec un affichage d'une fenêtre lors du passage curs
controle liste de formulaire [ par gwerz ]
Bonjour,Je cherche un script très simple, permettant d'obliger les internautes à selectionner une option dans une liste, sinon le formulaire ne se pos
Pb avec mon script de contrôle !! [ par seb3110 ]
Salut ! Voilà, je débute en javascript, et j'ai un petit problème avec mon script qui me permet de contrôler les caractères saisis par l'utilisateur d
/!\ Aide sur le Javascript /!\ [ par visualbasicscript ]
Aidez moi !!!!!!!! J'aimerai savoir si on peut executer le javascript sans le mettre sur une page Htmlpar exemple si je vais sous le b
Fonction qui permet de fermer une popup après le chargement de cette popup [ par Nabel ]
Bonjour, bonjour,Voilà, j'ai fait un script ASP qui permet de créer un ficheir xls sur le serveur, or, je ne veux pas que ce ficheir reste sur le serv
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|