【发布时间】:2021-01-01 19:54:57
【问题描述】:
当我在某个加载到BrowserView 的网站上按下按钮时,电子应用程序会退出。这显然是一个崩溃,但它不会在 BrowserWindow(渲染器)或 BrowserView 上发出render-process-gone。它只是退出。但是window-all-closed被发射了
app.on('ready', () => {
app.on('render-process-gone', (e, webContents, details) => {
console.log('render-process-gone', details);
});
const win = new BrowserWindow({
frame: false,
webPreferences: {
worldSafeExecuteJavaScript: true,
nodeIntegration: true,
webviewTag: false,
enableRemoteModule: false,
}
});
win.loadURL('file://' + __dirname + '/renderer.html');
const view = new BrowserView({
webPreferences: {
preload: 'preload.js'
worldSafeExecuteJavaScript: true,
nodeIntegration: false,
nodeIntegrationInSubFrames: true,
enableRemoteModule: false,
}
});
view.webContents.loadURL('http://website.com');
view.webContents.on('render-process-gone', (e, details) => {
console.log('render-process-gone', details);
});
win.setBrowserView(view);
});
app.on('window-all-closed', () => {
console.log('exiting...');
app.quit();
});
有没有办法找出导致这种情况的原因?
更新:我在 webPreferences 中添加了 sandbox: true,现在它不再崩溃了!
【问题讨论】:
-
你在电子 10 上吗?该事件是在 10 (release notes) 中添加的,尽管文档会显示最新版本的文档并将其包含在内,因此您可能在文档中找到了一个示例并使用了它,尽管您的 Electron 版本不支持它跨度>
-
你的电子版是?
-
你用的是哪个操作系统?
-
它发生在最新的 macOS 和 Windows 7 上
-
所以下面的答案显示
render-process-gone事件已被添加而不是render-process-crashed
标签: javascript node.js electron