那位老师可以解答一下呢?
谢谢老师 ,居然亲自回复 ,泪奔感动啊.以前就在博客看您发的微博 ,受益匪浅.
div.innerHTML = "<script>alert(1)</srcript>" 这个代码不会执行
例外的情况:
IE9之前的
满足几个条件
1:script设定defer属性
2: script元素必须位于有作用域元素之后,因为script被认为是无作用域的(页面中不可见)
换句话说,这样设置
div.innerHTML = "<div><script defer>alert(1)</srcript></div>" 可以执行
jQuery在内部通过会有一个domManip方法,把这些问题都方方面面处理掉了
defer 跟 innerHTML 什么关系