相关疑难解决方法(0)

如何绕过window.opener跨域安全性

我刚刚发现,如果新的URL是跨域的,在IE浏览器中window.opener打开的窗口中不可用window.open.如何检测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" );
}
Run Code Online (Sandbox Code Playgroud)

它在IE中提醒,即使窗口最初是我的域,然后重定向到FB,然后重定向回到我.我想可能因为我打开我的网站并立即从PHP重定向可能是一个问题.然而,即使我打开我的网站,window.location.href = 'facebookssite.com'它仍然在返回时抱怨.

注意

社交注册不适用于谷歌,FB等iframe.我相信他们出于安全原因不允许他们.

javascript cross-domain

37
推荐指数
2
解决办法
6万
查看次数

标签 统计

cross-domain ×1

javascript ×1