我使用json對象來存儲不同的內容位,其中一個可以包含javascript & html相關內容(如引號,分號,標籤等),沒有編碼可以打破頁面。要解決此我使用:JSP/Javascript/JQuery:將html/javascript內容存儲在變量中+將其寫入textarea
「內容」: 「<%= StringEscapeUtils.escapeHtml(StringEscapeUtils.escapeJavaScript(內容))%>」
(我使用JSP作爲服務器端技術這是頁面加載時內聯生成的JSON的一部分)
這適用於轉義任何可能會破壞頁面的字符,但我現在需要從該變量獲取內容到textarea。
$('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 2009-08-07 13:14:04
是的,你是rigth :(對不起 - 你需要手動htmp實體解碼 – 2009-08-07 13:55:45