Не удалось выполнить 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!