Я использую объект json для хранения различных битов содержимого, один из которых может содержать javascript & html соответствующий контент (например, кавычки, точки с запятой, теги и т. д.), которые без кодирования могут сломать страницу. Чтобы обойти эту проблему, я использую:JSP/Javascript/JQuery: хранить содержимое html/javascript в переменной + писать его в textarea
"содержание": "<% = StringEscapeUtils.escapeHtml (StringEscapeUtils.escapeJavaScript (содержание))%>"
(я использую JSP в качестве серверной технологии и это немного из JSON, сгенерированного встроенным при загрузке страницы)
Это прекрасно работает, чтобы избежать любого символа, который может сломать страницу, но теперь мне нужно получить содержимое этой переменной в текстовое поле.
$ ('textarea'). Val (obj.content);
То, что я пытаюсь избежать это двойное кодирование, что происходит в данный момент:
- оригинальное содержание является:
<script>alert("hello world");</script>
- переменная содержание имеет:
<script>alert("hello world");</script>
- текст в textarea читает:
<script>alert("hello world");</script>
, когда он должен читать<script>alert("hello world");</script>
Любой способ сделать эту работу?
unescape() не влияет на содержимое. – Dan
Да, вы - rigth :(извините - вам нужно обработать сущность htmp вручную. –