Как мне обойти междоменную безопасность window.opener
Я только что узнал, чтоwindow.opener
недоступен в окне, открытом черезwindow.open
если новый URL-адрес междоменный, в IE.Как я могу обнаружить открыватель окна в IE
Это произойдет, если окно запускается в моем домене, покидает его и затем возвращается в мой домен. Я пытаюсь создать социальную регистрацию (Facebook, Google и т. Д.) Во всплывающем окне. Когда он завершится, он должен закрыть новое окно и перенаправить открыватель.
Я знаю, что Soundcloud справляется с этим, но я понятия не имею, как. Я вижу, как URL меняется с их на Facebook, а затем закрывается.
После перенаправления обратно на мой сайт от третьей стороны я запускаю это:
var data = {
type : 'complete',
destination : '<?= $destination; ?>'
};
if ( window.opener ) {
window.opener.postMessage( JSON.stringify( data ), '*' );
window.close();
}
else {
alert( "Unable to find window" );
}
Он выдает предупреждение в IE, хотя изначально это окно было моим доменом, которое затем перенаправлялось в FB, а затем перенаправлялось обратно ко мне. Я подумал, может, так как я открываю свой сайт и сразу же перенаправляю из PHP, это может быть проблемой. Однако даже когда я открыл свой сайт, сделалwindow.location.href = 'facebookssite.com'
он все еще жаловался при возвращении.
НОТА
Регистрация в социальных сетях не работает для Google, FB и т. Д. Вiframe
, Я считаю, что они запрещают их по соображениям безопасности.