l3ftoverz
@l3ftoverz
Rings of Saturn - The Husk

Почему возникает проблема с CORS при попытке получить доступ к iframe, если его src — dataURL?

Я генерирую на странице iframe, его src - dataURL, мне нужно получить доступ к документу в iframe, что бы достать высоту контента в iframe, но я не могу.

Потому, что:
Uncaught DOMException: Blocked a frame with origin "localhost:3002" from accessing a cross-origin frame.
at HTMLIFrameElement.iframe.onload (webpack-internal:///./src/js/elements/pageDocument.js:111:42)


Почему так происходит и как это обойти? Возможности отказаться от dataURL - нет.
  • Вопрос задан
  • 653 просмотра
Решения вопроса 1
l3ftoverz
@l3ftoverz Автор вопроса, куратор тега HTML
Rings of Saturn - The Husk
Решение и описание того, почему так происходит можно найти здесь.

Если вкратце, то проблема в том, что dataURL обарабатывается как уникальный источник, его контекст отличается от источника. Это можно обойти используя Blob и URL.createObjectURL. Этот способ генерирует временный URL того, же источника, на котором расположен код.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы