Electron设置exe的uiAccess为true时页面加载失败如何解决?
修复步骤
- 程序部署路径调整
uiAccess=true的Windows程序仅允许读取系统受信任目录下的资源,必须将打包后的完整程序部署到C:\Program Files或者C:\Program Files (x86)路径下,禁止放在桌面、用户个人目录等非受信任路径,否则系统会拦截本地html、js等资源的读取请求,导致页面白屏/黑屏。 - 运行权限配置
uiAccess属性要求程序必须以管理员权限运行,普通权限运行时会直接触发进程崩溃。打包时可在配置中指定exe的运行权限等级,以electron-builder为例,配置示例如下:{ "build": { "win": { "requestedExecutionLevel": "requireAdministrator" } } } - 数字签名配置
开启uiAccess属性的exe必须拥有有效的数字签名,未签名或签名无效的程序会被系统安全机制限制权限,即使放在受信任目录也会出现渲染异常。测试阶段可使用自签名证书并导入到本地受信任根证书存储路径验证,正式发布需使用正规代码签名证书签名。 - 渲染异常修复
如果完成上述配置后仍出现黑屏,可在窗口did-finish-load事件回调中调用win.reloadIgnoringCache()强制刷新资源,也可以调用win.setAlwaysOnTop(true, 'screen-saver')重新设置窗口层级,触发渲染图层重绘。
内容的提问来源于stack exchange,提问作者chenxu
相关产品推荐
相关产品推荐

