innerHTML 的方式插入标签是不生效的,script 脚本不执行,需要采用插入 dom 的方式
const rawframe = document.getElementById('theframe');
const framedoc = rawframe.contentDocument;
if (!framedoc && rawframe.contentWindow) {
framedoc = rawframe.contentWindow.document;
}
const script = doc.createElement('script');
script.type = "text/javascript";
script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js";
// 或 script.text = "console.log(1)";
framedoc.body.appendChild(script);
// jQuery 的方式
$('#iframe').load(function() {
$(this).contents().find('body').append('<scr' + 'ipt type="text/javascript" src="somescript.js"></scr' + 'ipt>');
});