首页 > Web开发 > 详细

使用innerHTML生成的script节点不会发出请求与执行text属性

时间:2016-11-03 18:42:34      阅读:182      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <div id="box"></div>
    <script>
        var boxEl = document.querySelector(‘#box‘)
        boxEl.innerHTML = ‘<script>console.log(1)<\/script><script>console.log(2)<\/script>‘
        var script = document.createElement("script")
        var els = boxEl.getElementsByTagName("script")
        if (els.length) { //使用innerHTML生成的script节点不会发出请求与执行text属性
            for (var i = 0, el; el = els[i++]; ) {
                var neo = script.cloneNode(false) //FF不能省略参数
                Array.prototype.forEach.call(el.attributes, function(attr) {
                    neo.setAttribute(attr.name, attr.value)
                })// jshint ignore:line
                neo.text = el.text
                el.parentNode.replaceChild(neo, el)
            }
        }
    </script>
</body>
</html>

 

使用innerHTML生成的script节点不会发出请求与执行text属性

原文:http://www.cnblogs.com/jzm17173/p/6027540.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!