Dans JavaScript, la méthode commune consiste à utiliser Encodeuri (Decodeuri) et EncodeuriComponent (DecodeuriComponent). Les méthodes et différences d'utilisation spécifiques sont utilisées.
Mais comment échapper inversement à HTML en JavaScript? Par exemple, le code suivant:
var jSondata = {title: "<% = data.name? data.name: title%>", desc: "<% = data.content? data.content: ''%>", image: "<% - data.img? data.img: ''%>"};La pièce enveloppée dans <% =%> est la valeur renvoyée du serveur (le code dans l'exemple ci-dessus est tiré du code du modèle EJS Express dans Node.js). Si la chaîne renvoyée du serveur contient des devis, tels que des devis simples ou doubles, le code JS ci-dessus aura une erreur lors de l'interprétation dans le navigateur. Comment résoudre ce problème?
L'idée de base est d'inverser la chaîne HTML via l'attribut InnerHTML de l'élément DOM sur la page, puis renvoie la valeur à la variable JavaScript. Regardez les deux codes suivants:
1. Méthode d'écriture JavaScript native:
fonction htmldEcode (input) {var e = document.CreateElement ('div'); e.innerhtml = entrée; Retour E.ChildNodes.length === 0? "": e.childNodes [0] .Nodevalue;} htmlDECODE ("<img src = 'myimage.jpg'>");2. Méthode d'écriture jQuery:
fonction htmldEcode (valeur) {return $ ('<div />'). html (valeur) .text (); }La première fonction utilise la méthode JavaScript native pour créer un élément DIV, puis attribue la chaîne qui doit être inversement échappée sur sa propriété innerHTML, et renvoie enfin la valeur de la propriété Nodevalue de l'élément DIV. La deuxième fonction utilise la méthode de JQuery, et ses principes de base sont les mêmes que la première fonction. Étant donné que les éléments Div ne sont créés qu'en mémoire et ne sont pas ajoutés ou inertes à la page, ils n'auront aucun impact sur la page existante.
Enfin, nous modifions le code initial par la méthode suivante:
var jSondata = {title: $ ('<div />'). html ("<% = data.name? data.name: title%>"). text (), desc: $ ('<div />'). html ("<% = data.notent? data.notent: ''%>"). %> "};Cela permet l'inversion HTML des chaînes renvoyées par le serveur en JavaScript.
L'explication détaillée ci-dessus de l'évasion inverse de HTML en JavaScript est tout le contenu que je partage avec vous. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.