Я пытаюсь создать небольшой вспомогательный инструмент, который позволит мне контролировать и манипулировать баннером HTML 5 (дочерним) изнутри iframe (родительского).
Простая форма кнопки воспроизведения, добавленная к 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-код внизу, где он извлекается и выполняет его.Код JS-скрипта (gsapControlTest.js) является просто базовым кодом GSAP:
mainTl.paused(!mainTl.paused())
Я хотел бы улучшить это, вместо этого написав встроенный JS вместо того, чтобы использовать скрипт дляURL.
Причина, по которой я хотел бы добавить больше элементов управления, таких как перемотка назад, воспроизведение вперед и приведенный выше код, означала бы, что для этого мне нужно было бы создать разные сценарии.
Я пытался использовать:
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, а не тянущий в сценарии)?
Приветствия