Не удалось выполнить postMessage на DOMWindow: http://x.localhost:8000 не соответствует происхождению окна-получателя http://localhost:8000.

Я просмотрел кучу похожих постов здесь и не нашел решения, которое помогло бы решить эту проблему.

У меня есть iframe, встроенный в домен, который я не контролирую. Этот iframe открывает всплывающее окно, и я пытаюсь установить связь между ними. Такие вещи, как window.opener, не работают, потому что браузер очищает window.opener в этом сценарии. Кроме того, window.parent во всплывающем окне является самоссылкой, поэтому я не могу использовать и ее. Я читал, что postMessage является хорошим способом заставить это работать, но я продолжаю получать эту ошибку всякий раз, когда пытаюсь.

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('http://x.localhost:8000') does not match the recipient window's origin ('http://localhost:8000').

(я использую приложение Django с JS-фронтендом)

Я пробовал установить window.document.domain='localhost, но получаю ошибку:

Uncaught DOMException: Failed to set the 'domain' property on 'Document': 'localhost' is a top-level domain.

Есть ли какой-нибудь способ сделать это? TIA!

Вернуться на верх