javascript - js如何跨視窗調用js

來源:互聯網
上載者:User
如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

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.