我正在尝试构建一个小辅助工具,该工具将允许我从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而不是引入脚本)?
欢呼