MutationObserver на JavaScript iFame - PullRequest
       36

MutationObserver на JavaScript iFame

0 голосов
/ 31 мая 2019

У меня есть iframe, содержащий источник www.abc/main.html

<iframe id="my-iframe" src="http://www.abc/main.html"></iframe>

abc / main.html импортирует и выполняет некоторые файлы js. Я хочу использовать MutationObserver для получения имени импортируемых js-файлов.

var observer = new MutationObserver(function (mutations) {
            mutations.forEach(function (mutation) {
                [].filter.call(mutation.addedNodes, function (node) {
                    return node.nodeName == 'IFRAME';
                }).forEach(function (node) {
                    node.addEventListener('load', function (e) {
                        console.log('loaded', node.src);
                    });
                });
            });
        });
observer.observe(document.body, { childList: true, subtree: true });

Это то, что я использую. Ссылаясь: ТАК ответ

Но я не могу получить имя файла js. Связано ли это с CSP, установленным на источнике iframe?

Примечание. Содержимое iframe не того же происхождения, что и родительский документ.

1 Ответ

1 голос
/ 31 мая 2019

MutationObserver наблюдает только за вашим собственным документом.

Без явной поддержки CORS с удаленного сайта совершенно невозможно наблюдать или взаимодействовать с кадром из другого источника.

...