我试图了解我是否理解Electron的Node.js实现方式以及它与应用程序的交互方式。根据我的理解,启动网页有一个javascript文件,作为“渲染器”进程运行。此脚本中的代码也可以访问任何Node.js API。要创建新的浏览器窗口,渲染器脚本中的代码使用新的BrowserWindow创建新窗口,每个窗口依次具有自己的渲染器脚本。
渲染器脚本中的代码在Node.js下运行,因此在这些脚本中编写的任何代码都无法与浏览器网页中的脚本代码通信。
这一切是真的还是我错了什么?
答案 0 :(得分:0)
Electron主进程可以创建新窗口(使用浏览器窗口),每个窗口都有一个渲染器进程。您可以使用ipc在渲染器进程和主进程之间发送消息。要从一个渲染器进程向另一个渲染器进程发送消息,可以使用插件,或者您只需通过主进程中继消息。
每个窗口的格式/外观通过html和css控制。创建窗口的一部分是指定要加载的html文件。
可以在this other SO问题中找到更多信息。另一个问题是this repo,其中包含更多信息。
最后,共识似乎是尽可能多地放在渲染器中。
有关详细说明,请
渲染器脚本中的代码在Node.js下运行,因此任何代码都是如此 用这些脚本编写的无法与脚本代码进行通信 浏览器的网页。
您是否询问Electron应用程序是否可以与单独的Web浏览器进行交互?