2011-11-18 20 views
6

我试图打印<textarea></textarea>标签之间的一些文字,但我发现,如果我输入像<>一些字符,文本区域会自动将它们转换为&lt;&gt;确实<textarea> auto-encode inner html?

例子:

<textarea><script></textarea>

会产生这个HTML

<textarea>&lt;script&gt;</textarea>

你能解释我为什么出现这种情况?

在此先感谢,任何帮助表示赞赏,最好的问候。

+0

“......会产生这个HTML ......” 怎么了?服务器端还是客户端? –

+0

我的意思是输出的是原始html,如浏览器的“see html source”选项所示,在客户端。 – BeNdErR

回答

4

它不会逃避内容。 HTML源代码仍然完全相同。它只是能够显示内容,我认为这是<textarea>标签的要求。

+0

感谢cherouvim的回复。你知道是否有办法输出“<' and '>”(不是“<”和“>”)?我正在学习xss攻击,并且正在寻找一种简单的方法在该textarea中注入类似的东西。我也尝试过%3c和%3e,但没有奏效。再次感谢,问候 – BeNdErR

0

的DOM元素应该有这样的性质:

innerHTML = '&lt;script&gt;' 

innerText = '<script>'