Вложенные цитаты в JavaScript / HTML - PullRequest
28 голосов
/ 14 июня 2010

Как вы вкладываете цитаты в HTML за пределы второго уровня? Насколько я знаю, есть только 2 типа кавычек - одинарные (') и двойные ("). Мне известно, что нужно избегать использования косой черты - вам нужно экранировать код, но это экранирование не будет работать на уровне браузера. Каков принятый способ обойти что-то вроде следующего?

<p onclick="exampleFunc('<div id="divId"></div>');">Some Text</p>

Этот код печатается в браузере:

'); "> Некоторый текст

Ответы [ 3 ]

32 голосов
/ 14 июня 2010

Вам необходимо использовать правильное экранирование / кодирование. Либо в HTML, используя символьные ссылки:

<p onclick="exampleFunc('&lt;div id=&quot;divId&quot;&gt;&lt;/div&gt;');">Some Text</p>

Или в JavaScript, используя escape-последовательности строк:

<p onclick="exampleFunc('\x3Cdiv\x20id\x3D\x22divId\x22\x3E\x3C/div\x3E');">Some Text</p>
2 голосов
/ 05 апреля 2014

Редактировать: это не решение для JavaScript в HTML, а только для JavaScript. Мой плохой ...

eval('eval(\"eval(\\\"alert(\\\\\\\"Now I\\\\\\\\\\\\\\\'m confused!\\\\\\\")\\\")\")');

Link . Это "рекурсивный выход".

0 голосов
/ 14 июня 2010

вам нужно экранировать символы, используя \

, поэтому ваш код должен выглядеть так:

<p onclick="exampleFunc('<div id=\"divId\"></div>');">Some Text</p>

Вот некоторая информация о Специальные символы

...