Dav*_*idB 1 html jquery encoding
我用一个简单的js小提琴来设置我的问题http://jsfiddle.net/um788f6q/
<input type="text" id="yo">
$("#yo").val('hell'o')
Run Code Online (Sandbox Code Playgroud)
基本上我想知道是否有一种方法来显示撇号而不是编码的字符串.我已在服务器上编码这样的值以防止xss攻击,因此解码不是一个有效的选项.
谢谢
基本上我想知道是否有一种方法来显示撇号而不是编码的字符串.
什么都没有.
value属性处理文本,而不是HTML.
作为一个可怕的黑客,您可以通过解析HTML然后读取生成的文本节点将其转换为文本.
$("#yo").val($("<div />").html('hell'o').text());
Run Code Online (Sandbox Code Playgroud)
......但不要.解决真正的问题.
我已在服务器上编码这样的值以防止xss攻击
不要那样做.
您将数据插入JavaScript,而不是HTML.
在不处理HTML时,不要对HTML使用防御.它可能会让你变得脆弱.
编码数据以插入JavaScript的适当方法是使用JSON编码器.(然后,如果要将JSON放在HTML属性值中,则使用实体对生成的JSON进行编码,/如果将其放入<script>元素中,则转义任何字符).