Heim > Backend-Entwicklung > PHP-Tutorial > javascript - js如何跨窗口调用js

javascript - js如何跨窗口调用js

WBOY
Freigeben: 2016-06-06 20:33:41
Original
1113 Leute haben es durchsucht

如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>
Nach dem Login kopieren

B

<code>window.onbeforeunload = function() {
  if (window.opener) {
    window.opener.test();
  }
}
</code>
Nach dem Login kopieren

注:需要服务器环境

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

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage