- 1
script标签在规范情况下可以在head内也可以在body内,但是在其他地方是不符合规范的。
特殊情况放在head内会不执行,因为JS代码先于dom执行了,所以建议 将script标签放在body内部。 - 2
iframe内部添加的script标签中的js不执行
问题:我创建了一个iframe元素添加到了页面中,同时将获取的html内容跟js脚本添加进iframe的body中,但是script中的脚本并不会执行,这是浏览器中iframe的安全策略吗?有办法让script中的脚本执行吗?
解决:通过动态插入的方式,能让脚本执行,直接放进去没法执行
var ifr = document.createElement(‘iframe’);
ifr.id = ‘uiui’
document.body.append(ifr)
var ifrBody = document.getElementById(‘uiui’).contentDocument.body;
var script = document.getElementById(‘uiui’).contentDocument.createElement(‘script’);
script.innerHTML =var p = document.createElement('p'); p.innerHTML = 'o_o' document.body.appendChild(p);
;
document.getElementById(‘uiui’).contentDocument.body.appendChild(script);
原文链接