js脚本语言在页面上不执行

转换原理:// 编码原理就是创建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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值