innerHTML 的方式插入标签是不生效的,script 脚本不执行,需要采用插入 dom 的方式

    1. const rawframe = document.getElementById('theframe');
    2. const framedoc = rawframe.contentDocument;
    3. if (!framedoc && rawframe.contentWindow) {
    4. framedoc = rawframe.contentWindow.document;
    5. }
    6. const script = doc.createElement('script');
    7. script.type = "text/javascript";
    8. script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js";
    9. // 或 script.text = "console.log(1)";
    10. framedoc.body.appendChild(script);
    11. // jQuery 的方式
    12. $('#iframe').load(function() {
    13. $(this).contents().find('body').append('<scr' + 'ipt type="text/javascript" src="somescript.js"></scr' + 'ipt>');
    14. });