Electron中preload脚本在哪个事件后开始运行?
Electron Preload脚本执行时机及细节补充
执行时机
- Preload脚本的执行时机是在**
did-start-load事件触发后**,页面DOM开始解析前,早于did-finish-load事件。 - 它和
will-navigate、did-navigate这两个导航阶段的事件没有直接触发关联,只要webContents实例加载新页面,就会在上述固定时机执行preload脚本。
官方基础文档外的关键细节
- Preload运行在独立的隔离上下文,默认仅能访问Electron预暴露的API与部分Node.js模块,必须通过
contextBridge安全地向渲染进程全局上下文暴露自定义方法或数据。 - 若手动关闭上下文隔离(配置
contextIsolation: false),preload会直接进入渲染进程全局上下文,但这种操作存在XSS攻击风险,官方强烈不建议。 - 不要混淆preload和页面注入脚本:preload是Electron官方提供的安全注入机制,而通过
webContents.executeJavaScript注入的代码时机可自定义,但不属于preload的范畴。
内容的提问来源于stack exchange,提问作者Arnon Asquira
相关产品推荐
相关产品推荐

