Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript js在弹出窗口和主窗口之间通信_Javascript_Popup_Window_Communicate - Fatal编程技术网

Javascript js在弹出窗口和主窗口之间通信

Javascript js在弹出窗口和主窗口之间通信,javascript,popup,window,communicate,Javascript,Popup,Window,Communicate,我在同一个域上有两个浏览器窗口 一个是主窗口,第二个是小弹出窗口 我发现: 但是,问题是弹出窗口通过第三方软件在本地计算机上作为事件打开。。。 我也不希望与服务器通信,也不希望在主窗口读取状态,因为时间太慢 我希望通过JS将一些数据从弹出窗口直接传输到主窗口(然后立即关闭弹出窗口) 该事件是一个VOIP新收入呼叫,由本地电话软拨号器通过参数打开,主窗口是一个浏览器CRM,需要在同一页面上通过JS显示来电状态,类似于AJAX[仅本地] p、 s: 也许有一种方式可以在浏览器和windows应用程序

我在同一个域上有两个浏览器窗口

一个是主窗口,第二个是小弹出窗口

我发现:

但是,问题是弹出窗口通过第三方软件在本地计算机上作为事件打开。。。 我也不希望与服务器通信,也不希望在主窗口读取状态,因为时间太慢

我希望通过JS将一些数据从弹出窗口直接传输到主窗口(然后立即关闭弹出窗口)

该事件是一个VOIP新收入呼叫,由本地电话软拨号器通过参数打开,主窗口是一个浏览器CRM,需要在同一页面上通过JS显示来电状态,类似于AJAX[仅本地]

p、 s:

也许有一种方式可以在浏览器和windows应用程序之间进行通信,因此第三方软件将向其发送数据,应用程序将与窗口通信 (或Firefox扩展-但我更喜欢不需要安装更多插件)

我应该采取什么方法?你认为解决办法是什么


谢谢你

您是否尝试使用来引用父窗口?

如果一个浏览器未打开另一个浏览器,则两个浏览器无法通过window.opener进行对话


您可以尝试将数据存储到windows轮询localstorage以进行更改

不,我会尝试,window.opener将返回窗口的父级,但是知道它是否有父级很有趣,因为第三方软件打开了它。。不是我要找的“家长”…,这有点像两个独立的浏览器窗口通信…对,因为我不知道第三方软件是如何打开窗口的(可能在主浏览器窗口的范围内执行命令),所以值得一提;)我可以用C++ Windows应用程序来处理本地存储到Firefox Addon通信吗?要避免打开和关闭小弹出窗口。。。90年代的老把戏<代码>窗口.名称,因为本地存储可能不可用。但是你必须使用一个时间间隔来“倾听”变化并对其采取行动。吸吮。此外,建议的使用
localstorage
仅适用于同一个域。因此,除非要从同一域打开两个单独的窗口,否则无法使用
存储
侦听器。如果使用
locaStorage
,则不需要轮询更改,而是添加一个事件侦听器
窗口。on('storage'))
将在除设置值的窗口之外的所有窗口中启动。我想我将使用dailer->bridge application->addon[via socket]->js communication。。。。拨号程序将执行一个命令,而不是弹出,执行和发送参数到本地应用程序,我会写,通过套接字与firefox插件通信本地主机通信和调用alocal js的参数。。。复杂但快速和干净。