En JavaScript, el método común es usar Codeuri (Decodeuri) y CodeuricOponent (DecodeuriComponent). Se utilizan los métodos y diferencias de uso específicos.
¿Pero cómo escapar inversamente de HTML en JavaScript? Por ejemplo, el siguiente código:
var jSondata = {Título: "< %= data.name? data.name: title %>", desclégase: "< %= data.content? data.content: '' %>", imagen: "< %- data.img? data.img: '' %>"};La parte envuelta en < %= %> es el valor devuelto del servidor (el código en el ejemplo anterior se toma del código de la plantilla EJS Express en Node.js). Si la cadena devuelta del servidor contiene citas, como cotizaciones simples o dobles, entonces el código JS anterior tendrá un error al interpretarlo en el navegador. ¿Cómo resolver este problema?
La idea básica es invertir la cadena html a través del atributo innerhtml del elemento DOM en la página, y luego devolver el valor a la variable JavaScript. Mira los siguientes dos códigos:
1. Método de escritura nativo de JavaScript:
función htmldecode (input) {var e = document.createElement ('div'); E.innerhtml = entrada; return e.childnodes.length === 0? "": E.ChildNodes [0] .nodeValue;} htmldecode ("<img src = 'myImage.jpg'>");2. Método de escritura jQuery:
función htmldecode (valor) {return $ ('<div/>'). html (valor) .Text (); }La primera función utiliza el método JavaScript nativo para crear un elemento DIV, luego asigna la cadena que debe ser escapada inversamente a su propiedad InnerHTML y finalmente devuelve el valor de la propiedad NodeValue del elemento DIV. La segunda función utiliza el método de jQuery, y sus principios básicos son los mismos que la primera función. Dado que los elementos DIV solo se crean en la memoria y no son inertes o inerte a la página, no tendrán ningún impacto en la página existente.
Finalmente, cambiamos el código inicial al siguiente método:
var jsondata = {Title: $ ('<div/>'). Html ("< %= data.name? data.name: title %>"). text (), desc: $ ('<div/>'). html ("< %= data.notent? data.notent: ' %>"). Text (), imagen: "< %- data.img? Data.img?Esto permite la inversión HTML de las cadenas devueltas por el servidor en JavaScript.
La explicación detallada anterior del escape inverso de HTML en JavaScript es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.