нацеливание на фрейм внутри фрейма JS - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь создать небольшой вспомогательный инструмент, который позволит мне контролировать и манипулировать баннером 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, а не тянущий в сценарии)?

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...