Javascript 将信息从一个浏览器窗口发送到另一个浏览器窗口

Javascript 将信息从一个浏览器窗口发送到另一个浏览器窗口,javascript,html,reactjs,Javascript,Html,Reactjs,我有一个SPA不能离开,因为如果用户离开/刷新,一些信息可能会丢失 我想实现Instagram API,但是该API要求您浏览到不同的URL,登录,接收URL中的代码,然后重定向回 由于我不能直接从我的站点执行此操作,因此我必须打开一个新窗口来执行此操作 如何在单独的窗口中从URL检索代码,并在原始窗口中发送回我的站点 我已经看过WebSocket(需要一个服务器,所以没有)和WebRTC(在本地主机上,似乎不起作用)了,但运气不好。有什么建议吗?如果API允许使用iframe,您可以观察ifr

我有一个SPA不能离开,因为如果用户离开/刷新,一些信息可能会丢失

我想实现Instagram API,但是该API要求您浏览到不同的URL,登录,接收URL中的代码,然后重定向回

由于我不能直接从我的站点执行此操作,因此我必须打开一个新窗口来执行此操作

如何在单独的窗口中从URL检索代码,并在原始窗口中发送回我的站点


我已经看过WebSocket(需要一个服务器,所以没有)和WebRTC(在本地主机上,似乎不起作用)了,但运气不好。有什么建议吗?

如果API允许使用
iframe
,您可以观察
iframe
内部发生的事情,或者使用
parent.instagramLogin(data)
(其中
instagramLogin
是您在iframe外部定义的函数)

另一种选择是在登录完成后自动关闭登录选项卡,当主选项卡再次聚焦时(
window.onfocus
),发送
ajax
请求以检查登录是否完成。(当然,每次触发事件时都要不断检查,直到得到结果或变得无关紧要为止。)

更新:


我找到了一种在打开的选项卡之间进行通信的可靠方法,如果支持,可以使用
BroadcastChannel
,否则使用
localStorage
中的
storage
事件。您可以找到详细信息,此链接中的某个人甚至制作了一个小型库,以使其快速简便。

如果API允许使用
iframe
,您可以查看
iframe
内部发生的情况,或者使用
parent.instagramLogin(数据)
(其中,
instagramLogin
是您在iframe之外定义的函数)

另一种选择是在登录完成后自动关闭登录选项卡,当主选项卡再次聚焦时(
window.onfocus
),发送
ajax
请求以检查登录是否完成。(当然,每次事件触发时都要继续检查,直到得到结果或变得无关。)

更新:


我找到了一种在打开的选项卡之间进行通信的可靠方法,如果支持的话,可以使用
BroadcastChannel
,否则可以使用
localStorage
中的
storage
事件。您可以找到详细信息,此链接中的某个人甚至制作了一个小型库,使其快速简便。

您不能将信息保存到
localStorage
.J.Crowder理想情况下,我会这么做。然而,我在一个更大的网站上工作,我不知道将状态保存到localStorage的含义。如果可能的话,这将需要对我想保存自己的主题进行更多的研究。你能不能将信息保存到
localStorage
?@t.J.Crowder理想情况下,这是一个问题这就是我要做的。然而,我在一个更大的网站上工作,我不知道将状态保存到本地存储的含义。如果可能的话,这将需要对这个主题进行更多的研究。