首頁 > 後端開發 > php教程 > javascript - js如何跨窗口调用js

javascript - js如何跨窗口调用js

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:33:41
原創
1137 人瀏覽過

如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

<code>// window.open(B);
// <a target="_blank" href="B">打开B窗口</a>
function test() {
  alert(1);
}
</code>
登入後複製

B

<code>window.onbeforeunload = function() {
  if (window.opener) {
    window.opener.test();
  }
}
</code>
登入後複製

注:需要服务器环境

例外 跨窗口/文档通信可以看下 postMessage 的资料

至于扫一扫登录,可以参见 微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的?

这个一定是服务器通知的A,让A调用的,至于服务器如何通知A 这技术有很多,查一下就好了,肯定不是在B窗口里面调用的A

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
JavaScript鉤子函數是什麼?
來自於 1970-01-01 08:00:00
0
0
0
怎麼實作 JavaScript點與圓的位置關係
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板