为什么innerHTML无法用于此脚本注入?

时间:2018-07-02 16:37:29

标签: javascript dom

据我所知,CORS不赞成使用此方法,但受JSONP的启发,我尝试了这一点很有趣:

function f(ob) {alert(ob.a)}
s = document.createElement('script')
s.textContent = 'f({a:"hi"})'
document.getElementsByTagName('body')[0].appendChild(s)

这将按预期触发alert()。但是,

document.getElementsByTagName('body')[0].innerHTML += '<script>alert("Ahoy!")</script>'

document.getElementsByTagName('body')[0].insertAdjacentHTML('beforeend', '<script>alert("Ahoy!")</script>')

不触发警报。为什么?

0 个答案:

没有答案