javascript - js如何跨窗口调用js
程序员文章站
2022-05-29 11:17:54
...
如QQ登录(http://qzonestyle.gtimg.cn/qzone/openapi/js-sdk-demo.html),在A页面点击qq登陆按钮,弹出新qq登录窗口B,手机扫一扫后登录,B窗口关闭,并且调用A窗口中的retFun函数。
这是怎么做到的?
回复内容:
如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
推荐阅读
-
php的json格式和js跨域调用的代码
-
javascript - web项目发版如何解决静态资源JS CSS 缓存问题
-
微信如何实现向浏览器注入JS API,并且调用方式就像浏览器原生API一样?
-
JS链式调用的实现方法_javascript技巧
-
Dedecms如何调用静态JS广告
-
如何调试异步加载页面里包含的js文件_javascript技巧
-
如何用js 实现依赖注入的思想,后端框架思想搬到前端来_javascript技巧
-
js获取元素相对窗口位置的实现代码_javascript技巧
-
JS根据浏览器窗口大小实时动态改变网页文字大小的方法_javascript技巧
-
ASP.NET常用前后台调用、后台执行js、弹出模态窗口