我拼命想了解电子协议模块。目前主要是关于注册方法(例如 registerFileProtocol)。我已经尝试使用电子存储库回答我的问题,但不幸的是没有成功。背景是我想在渲染过程中从磁盘上的某个位置加载图像。根据文档和浏览器的安全设置,这不适用于 file:// 协议。经过一番研究,我通过使用 registerFileProtocol 方法注册自定义协议找到了解决方案。同时,这个解决方案也有效,但我不明白。因此,如果有人可以回答我以下问题或提示我在哪里可以找到答案,我将非常高兴:
协议模块的确切上下文是什么?浏览器(渲染器)、节点(主)还是操作系统?
我在哪里可以找到协议方法的 JavaScript 定义/实现(例如 registerFileProtocol)?
处理程序到底在哪里注册?节点、Chrome 或操作系统。
回调传递给处理程序的具体内容是什么?我在哪里可以找到实现?
幕后的具体流程是什么?例如,如果我在 src 属性的 img 标记中使用我的自定义协议。何时何地或谁调用处理程序?处理程序的回调如何发挥作用?
为什么处理程序需要在主进程中注册,即使我在渲染器进程中使用自定义协议?
致以真诚的感谢和诚挚的问候