转换原理:// 编码原理就是创建TextNode节点,附加到容器中,再取容器的innerHTML.(将脚本编码)
// 解码原理是将字符串赋給容器的innerHTML,再取innerText或textContent(过滤掉js脚本).1. 对特殊字符进行转义成html脚本符号
///将字符串进行编码,将特殊字符转变为html语言
function htmlencode(s) { var div = document.createElement('div'); div.appendChild(document.createTextNode(s)); return div.innerHTML; }2.对js中脚本语言进行过滤,界面上直接过滤掉<script>等脚本符号///过滤脚本语言(js中的脚本,特别是(<acript>类似))
function htmldecode(s) { var div = document.createElement('div'); div.innerHTML = s; return div.innerText || div.textContent; }3.对js中脚本语言显示到html中,但是不执行(alert(1)就不执行) ///将脚本语言格式化,不执行(类似alert(1)直接在界面显示,而不执行) function htmldecode(s) { var div = document.createElement('div'); div.innerHTML = s; return div.innerHTML; }