[英]Send information from one browser window to another
我有一個 SPA,我不能離開,因為如果用戶離開/刷新,一些信息可能會丟失。
我想實現 Instagram API,但是該 API 要求您瀏覽到不同的 URL,登錄,在您的 URL 中接收代碼,然后重定向回來。
由於我無法直接從我的站點執行此操作,因此我必須打開一個新窗口來執行此操作。
如何從單獨窗口中的 URL 檢索代碼以在原始窗口中發送回我的站點?
我已經看過 websockets(需要一個服務器,所以沒有)和 WebRTC(在本地主機上,似乎沒有工作)已經沒有運氣了。 有什么建議?
如果API允許使用iframe
,你可以看到什么是內部發生iframe
或從內部溝通iframe
使用parent.instagramLogin(data)
(其中instagramLogin
是你的iframe以外定義的函數)。
另一種選擇是在登錄完成后自動關閉登錄選項卡,當主選項卡再次聚焦時 ( window.onfocus
) 發送一個ajax
請求來檢查登錄是否完成。 (當然,每次事件觸發時都要繼續檢查,直到得到結果或變得無關緊要為止。)
更新:
我找到了一種在打開的選項卡之間進行通信的可靠方法,如果支持,則使用BroadcastChannel
,否則使用localStorage
storage
事件。 您可以在此處找到詳細信息,此鏈接中的某人甚至制作了一個小型圖書館,以使其快速簡便。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.