这是怎么做到的?
回复内容: 如qq登录(http://qzonestyle.gtimg.cn/qzone/openapi/js-sdk-demo.html),在a页面点击qq登陆按钮,弹出新qq登录窗口b,手机扫一扫后登录,b窗口关闭,并且调用a窗口中的retfun函数。
这是怎么做到的?
a窗口打开b窗口,那么b窗口有个window.opener(window.open或者href打开的都有,ie只有通过window.open打开才有)指向a窗口。
a
// window.open(b);// 打开b窗口function test() { alert(1);}
b
window.onbeforeunload = function() { if (window.opener) { window.opener.test(); }}
注:需要服务器环境
例外 跨窗口/文档通信可以看下 postmessage 的资料
至于扫一扫登录,可以参见 微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的?
这个一定是服务器通知的a,让a调用的,至于服务器如何通知a 这技术有很多,查一下就好了,肯定不是在b窗口里面调用的a
