在iframe JS中定位iframe

时间:2019-02-22 16:48:19

标签: javascript html iframe

我正在尝试构建一个小辅助工具,该工具将允许我从iframe(父级)内部控制和操作HTML 5横幅(子级)。

添加到 iframe 中的简单播放按钮表单(用户按下该按钮会触发以下代码)。

到目前为止,我已经创建了它,并且效果很好:

    var iframe = document.getElementById('dapcontainer123456789').contentWindow.document;
    var iframe2 = iframe.querySelectorAll("#daphtml123456789");
    var banner = iframe2[0].contentWindow.document;
    var scripts = banner.getElementsByTagName("script")[4];
    var scriptTag = document.createElement('script');
    scriptTag.src = 'https://xxxxxx.com/test/gsapControlTest.js';
    scriptTag.id = 'GS';
    banner.body.appendChild(scriptTag);

因此,这使我可以访问内部内容(html5横幅),将脚本标记动态写入HTML底部的HTML中,并在其中执行并执行它。 JS脚本代码(gsapControlTest.js)只是基本的GSAP代码:

mainTl.paused(!mainTl.paused())

我想通过改写内联JS而不是引入URL脚本来改善这一点。

原因是我想添加更多控件,例如快退,播放和上面的代码,这意味着ID需要制作不同的脚本来这样做。

我尝试使用:

scripts.open(); scripts.write('<scr'+'ipt type="text/javascript">alert("Hello! I am an alert box!!");</scr'+'ipt>'); 作为测试,但会引发错误:

Uncaught TypeError: scripts.open is not a function at pause (120x600.html:206) at HTMLInputElement.onclick

有人可以给我一些指导我如何做到这一点的方法(使用动态内联JS而不是引入脚本)?

欢呼

0 个答案:

没有答案