Как получить доступ из всплывающего окна кросс-сайта в window.opener?
Я создаю виджет, и мне нужно перенаправить родительское окно на определенный URL-адрес, после определенного события в всплывающем окне, на базе другого домена. Как это можно сделать.
window.opener.location.replace(url);
Ответ 1
Вы просто не можете этого сделать. Межсайтовый скриптинг не разрешен в большинстве браузеров.
Самое большее, что вы можете, это отправить сообщение от всплывающего окна на открыватель и прослушать такое сообщение в открывателе. Затем открыватель должен самостоятельно изменить свое местоположение.
// popup:
window.opener.postMessage('replace your location', '*');
// opener:
window.onmessage = function (e) {
if (e.data === 'replace your location') {
window.location.replace(...);
}
};