JQuery Escapeing HTML для предварительного просмотра - PullRequest
1 голос
/ 11 мая 2009

Я делаю очень простое окно предварительного просмотра в JQuery, используя только упорядоченный список. Я беспокоюсь, что пользователь введет <или> и случайно испортит код для страницы или сделает что-то вроде XSS. Как я могу кодировать специальные символы, используя Javascript для обработки этой ситуации?

Ответы [ 3 ]

5 голосов
/ 11 мая 2009

если вы используете

$(yourselector).text("<h1>Your text String</h1>");

, тогда jQuery отобразит фактический текст, включая специальные символы. Если вы используете

$(yourselector).html("<h1>Your text String</h1>");

тогда специальные символы HTML будут интерпретироваться при отображении.

Я предполагаю, что вы хотите отобразить текст, который ваш пользователь вводит между тегами списка.

1 голос
/ 29 августа 2009

Если вы хотите сохранить экранированное значение в переменной, а не отображать его на странице, вы также можете попробовать:

$('<div></div>').text(str).html()
1 голос
/ 11 мая 2009

Также можно .wrap элемент в теге <pre>.

<code>$("#selector").wrap("<pre>
");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...