begin process at 2012 05 28 14:42:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > RÉGLER LE PROBLÈME JAVASCRIPT DE L'APOSTROPHE...

RÉGLER LE PROBLÈME JAVASCRIPT DE L'APOSTROPHE...


 Information sur la source

Note :
1 / 10 - par 3 personnes
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Classé sous :apostrophe, script, backslash Niveau :Débutant Date de création :03/06/2003 Date de mise à jour :02/03/2009 07:41:09 Vu :17 410

Auteur : lgh

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 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('&lt;p&gt;Coucou&lt;/p&gt;'); 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&eacute;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 = "&lt;button type=\"button\" id=\"button1\" onclick=\"alert('Coucou');\"&gt;Bouton d\'alerte&lt;/button&gt;";
  • </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 = '&lt;button type=\'button\' id=\'button2\' onclick=\'alert("Coucou");\'&gt;Bouton d\'alerte&lt;/button&gt;';
  • </p>
  • <div id="B"></div>
  • <p>
  • (Pour mémoire, dans un document HTML l'écriture conventionnelle reste &lt;button type="button" id="button1" onclick="alert('Coucou');"&gt;Bouton d'alerte&lt;/button&gt;)
  • </p>
  • <p>
  • l'interprétation par la machine est de la forme:<br />
  • document.getElementById("B").innerHTML = '&lt;button type=%27button%27 id=%27button1%27 onclick=%27alert("Coucou");%27&gt;Bouton d%27alerte&lt;/button&gt;';
  • </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('&lt;p&gt;Coucou&lt;/p&gt;'); 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&eacute;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 = "&lt;button type=\"button\" id=\"button1\" onclick=\"alert('Coucou');\"&gt;Bouton d\'alerte&lt;/button&gt;";
</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 = '&lt;button type=\'button\' id=\'button2\' onclick=\'alert("Coucou");\'&gt;Bouton d\'alerte&lt;/button&gt;';
</p>
<div id="B"></div>
<p>
(Pour mémoire, dans un document HTML l'écriture conventionnelle reste &lt;button type="button" id="button1" onclick="alert('Coucou');"&gt;Bouton d'alerte&lt;/button&gt;)
</p>
<p>
l'interprétation par la machine est de la forme:<br />
document.getElementById("B").innerHTML = '&lt;button type=%27button%27 id=%27button1%27 onclick=%27alert("Coucou");%27&gt;Bouton d%27alerte&lt;/button&gt;';
</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

Source avec Zip UNE CALCULATRICE
Source avec Zip PALETTE DE COULEURS
Source avec Zip LES PHASES DE LA LUNE
Source avec Zip RECHERCHER ET REMPLACER UN MOT DANS UN TEXTE
Source avec Zip LE MENU FICHIER DES APPLICATIONS

 Sources de la même categorie

PARSER LES CARACTÈRES HTML D'UNE STRING par jdmcreator
CONSTRUCTION D'UNE TABLE TRIABLE À PARTIR D'UN TABLEAU 2D par phm
Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip TIMER : SETTIMEOUT & SETINTERVAL AMÉLIORÉS par jdmcreator
Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE par william voirol

 Sources en rapport avec celle ci

Source avec une capture POURQUOI MES SCRIPTS AJOUTÉS DYNAMIQUEMENT (AJAX, XSLT, ...)... par FREMYCOMPANY
Source avec Zip BLOCK POUR LES PORTAILS NUKED-KLAN V2.0 par clenio
C'EST LA FIN DES POP UP par GuilleW

Commentaires et avis

Commentaire de pyroflo le 03/06/2003 13:30:14

lol t'abuses un peu lgh non ? Je pense que les 100% débutants savez comment faire. Je ne veux pas être méchant ou méprisant envers toi mais là vraiment c'est les bases du JS et de tous les langages que de mettre un antislash pour ne pas prendre en compte le caractère (ici la simple quote).

Sans rancune ;)

Pyroflo
http://www.abcpyro.fr.st

Commentaire de pyroflo le 04/06/2003 13:54:07

revinc &gt;&gt;&gt; ce coup si tu es plus direct que moi...

Commentaire de revinc le 04/06/2003 13:56:49

j'ai fais un résumé de ton texte...

en ce moment le réseau codes sources est saturé de "hello world!" et ça commence sérieusement à m'énerver...

++

Commentaire de pyroflo le 04/06/2003 14:01:14

D'ailleurs les admins n'ont toujours pas supprimé les merdes de benben77...

Commentaire de revinc le 04/06/2003 14:10:59

c à se demander s'il y a des admins sur javascriptfr...

Commentaire de pyroflo le 04/06/2003 14:12:59

Ok ils n'ont pas que ça à faire mais quand même...

Commentaire de revinc le 04/06/2003 14:17:49

surtout que le benben77 ça date quand même de plus d'une semaine...
et encore y vient d'être posté de belles merdes sur phpcs (nombre pair & verlan) tout comme sur cppfrance...
y'a de l'abus, une "source" n'est pas une "fonction", sinon je balance l'intégrale des fonctrions php et ça me fait 500 sources !

c'était mon coup de gueule de la journée...

Commentaire de pyroflo le 04/06/2003 14:40:41

J'avais pas remarqué que c'était lui le posteur des nombres pair/impair....heureusement pour lui ^^
Quant aux C/C++ je ne fréquente pas encore ce site :)

Commentaire de coucou747 le 17/11/2004 13:52:05 administrateur CS

j'arrives après une mise a jour, et je me demandes ce que c'était avant...
sinon une autre de ses source est vraiment pourri (j'en viens) pas un pet de javascript... c'ets pas un concour de html ici, c'ets même pas un coucour, mais tu peux poster tes scripts quand ils sont a peu près corects mais pas ça...

si tu veux aiuder les débutants, expliques ce que c'ets que le web, coment foncitone ce réseau géant, et comment mettre son site en ligne... la, tu ne peux pas dire que tu fais qqch pour les débutants...

Commentaire de ghuysmans99 le 28/02/2009 10:45:56

Et en plus le code n'est même pas indenté !
De toutes façons c'est la base de tous les langages C-style ( C(++), PHP, JS, Java, ... )

 Ajouter un commentaire


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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales