Javascript 电子退出而不发射渲染过程事件
当我按下加载在Javascript 电子退出而不发射渲染过程事件,javascript,node.js,electron,Javascript,Node.js,Electron,当我按下加载在BrowserView中的某个网站上的按钮时,electron应用程序退出。这显然是一个崩溃,但它不会在BrowserWindow(渲染器)或BrowserView上发出渲染过程。就这样结束了。但是窗口全部关闭会发出 app.on('ready', () => { app.on('render-process-gone', (e, webContents, details) => { console.log('render-process-gone', de
BrowserView
中的某个网站上的按钮时,electron应用程序退出。这显然是一个崩溃,但它不会在BrowserWindow(渲染器)或BrowserView上发出渲染过程。就这样结束了。但是窗口全部关闭
会发出
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
,现在它不再崩溃了
Emitted when the renderer process crashes or is killed.
**Deprecated:** This event is superceded by the `render-process-gone` event
which contains more information about why the render process dissapeared. It
isn't always because it crashed. The `killed` boolean can be replaced by
checking `reason === 'killed'` when you switch to that event.
#### Event: 'render-process-gone'
Returns:
* `event` Event
* `details` Object
* `reason` String - The reason the render process is gone. Possible values:
* `clean-exit` - Process exited with an exit code of zero
* `abnormal-exit` - Process exited with a non-zero exit code
* `killed` - Process was sent a SIGTERM or otherwise killed externally
* `crashed` - Process crashed
* `oom` - Process ran out of memory
* `launch-failure` - Process never successfully launched
* `integrity-failure` - Windows code integrity checks failed
Emitted when the renderer process unexpectedly dissapears. This is normally
because it was crashed or killed.
- 在应用程序上添加了新的
渲染进程消失
事件,以替换渲染进程崩溃
事件#23560
- 添加了新的
渲染过程消失
事件以替换崩溃事件#23096
参考:
您是否在使用electron 10?在10()中添加了该事件,尽管文档将显示最新版本的文档并将包含它,因此,您可能已经在文档中找到了一个示例并使用了它,尽管您的电子版不支持它。您的电子版是?您使用的是哪种操作系统?它发生在最新的macos和windows 7上。因此,下面的答案显示已添加了渲染过程已消失
事件,而不是渲染过程崩溃