使用单个JavaScript上下文运行两个电子窗口

使用单个JavaScript上下文运行两个电子窗口,javascript,electron,multi-window,Javascript,Electron,Multi Window,我有一个单页应用程序,现在在一个电子浏览器窗口中运行。是否可以创建第二个窗口,该窗口将在与我的主窗口相同的Javascript上下文中运行?例如,我可以直接在第二个窗口中创建元素或附加事件侦听器等。您可以尝试使用BroadcastChannel API BroadcastChannel接口表示给定来源的任何浏览上下文都可以订阅的命名频道。它允许同一来源的不同文档(在不同窗口、选项卡、框架或iFrame中)之间进行通信。消息通过在侦听该频道的所有BroadcastChannel对象上激发的消息事件

我有一个单页应用程序,现在在一个电子浏览器窗口中运行。是否可以创建第二个窗口,该窗口将在与我的主窗口相同的Javascript上下文中运行?例如,我可以直接在第二个窗口中创建元素或附加事件侦听器等。

您可以尝试使用BroadcastChannel API

BroadcastChannel接口表示给定来源的任何浏览上下文都可以订阅的命名频道。它允许同一来源的不同文档(在不同窗口、选项卡、框架或iFrame中)之间进行通信。消息通过在侦听该频道的所有BroadcastChannel对象上激发的消息事件进行广播


如果您只需要用户的输入或其他信息,您可能需要一个对话框

显示用于打开和保存文件、警报等的本机系统对话框


或者只是一个模态

使用子浏览器窗口轻松创建模态


您可以尝试使用BroadcastChannel API

BroadcastChannel接口表示给定来源的任何浏览上下文都可以订阅的命名频道。它允许同一来源的不同文档(在不同窗口、选项卡、框架或iFrame中)之间进行通信。消息通过在侦听该频道的所有BroadcastChannel对象上激发的消息事件进行广播


如果您只需要用户的输入或其他信息,您可能需要一个对话框

显示用于打开和保存文件、警报等的本机系统对话框


或者只是一个模态

使用子浏览器窗口轻松创建模态


我想你是想统一网络内容的上下文-你不能。但您可以设计应用程序数据(状态)驱动,并通过主进程将数据传输到windows。甚至运行一个实例来管理您的状态。否则请阅读EdKnwles answer&links^^^^我怀疑如果不(显著地)更改应用程序架构,这是不可能的。我想你的意思是统一WebContent上下文-你不能。但您可以设计应用程序数据(状态)驱动,并通过主进程将数据传输到windows。甚至运行一个实例来管理您的状态。否则请阅读EdKnwles answer&links^^^^我怀疑如果不(显著地)更改应用程序架构,这是不可能的。