为了账号安全,请及时绑定邮箱和手机立即绑定

innerHTML不会执行脚本的代码,如果支持defer除外?

那位老师可以解答一下呢?

正在回答

4 回答

谢谢老师 ,居然亲自回复 ,泪奔感动啊.以前就在博客看您发的微博 ,受益匪浅.

0 回复 有任何疑惑可以回复我~

div.innerHTML = "<script>alert(1)</srcript>" 这个代码不会执行

例外的情况:

IE9之前的

满足几个条件

1:script设定defer属性

2: script元素必须位于有作用域元素之后,因为script被认为是无作用域的(页面中不可见)

换句话说,这样设置

div.innerHTML = "<div><script defer>alert(1)</srcript></div>"  可以执行

jQuery在内部通过会有一个domManip方法,把这些问题都方方面面处理掉了


1 回复 有任何疑惑可以回复我~
#1

leowori

..............................
2014-12-23 回复 有任何疑惑可以回复我~

defer 跟 innerHTML 什么关系

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

innerHTML不会执行脚本的代码,如果支持defer除外?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信