扫码关注官方订阅号
如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窗口。
window.opener
A
// window.open(B); // <a target="_blank" href=B>打开B窗口</a> function test() { alert(1); }
B
window.onbeforeunload = function() { if (window.opener) { window.opener.test(); } }
注:需要服务器环境
例外 跨窗口/文档通信可以看下 postMessage 的资料
postMessage
至于扫一扫登录,可以参见 微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的?
这个一定是服务器通知的A,让A调用的,至于服务器如何通知A 这技术有很多,查一下就好了,肯定不是在B窗口里面调用的A
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
A窗口打开B窗口,那么B窗口有个
window.opener(window.open或者href打开的都有,IE只有通过window.open打开才有)指向A窗口。A
B
注:需要服务器环境
例外 跨窗口/文档通信可以看下
postMessage的资料至于扫一扫登录,可以参见 微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的?
这个一定是服务器通知的A,让A调用的,至于服务器如何通知A 这技术有很多,查一下就好了,肯定不是在B窗口里面调用的A