Почему мой iframe заблокирован перекрестным происхождением, даже если это не так - PullRequest
0 голосов
/ 30 июня 2018

У меня есть <iframe> внутри <div>. Мой внешний URL - http://localhost:9090, а источник в iframe - http://localhost:9090/Server/v1. В моем внешнем контексте у меня есть код ниже для доступа к iframe dom:

const f1 = window.frames[iframeName];
const iFrameHead = f1.document.getElementsByTagName("head")[0];

и я получаю исключение во второй строке:

Uncaught DOMException: заблокирован кадр с источником "http://localhost:9090" от доступа к фрейму перекрестного происхождения.

Причина, по которой я хочу получить доступ к ifame dom, заключается в том, что мне нужно вставить скрипт в этот iframe. Src в iframe имеет тот же протокол, имя хоста и номер порта. Чего я не понимаю, так это того, что iframe имеет тот же источник, что и родительский контекст. Почему он жалуется на происхождение креста?

После некоторой отладки я обнаружил, что причина в том, что iframe был перенаправлен в другой домен, чем src. Интересно, есть ли обходной путь для вставки скрипта в этот iframe?

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