DevTools与页面断开连接,电子

时间:2019-03-05 08:07:59

标签: javascript electron desktop-application

伙计们,我需要在我的电子应用程序中打开一些Web应用程序,我使用了<webview>标签,但是Enumerable#reduce的电子产品却允许使用BrowserView。 因此我使用了BrowserView,但是我得到了DevTools与页面错误的连接!
只是我需要BrowserView而不是整个应用程序的DevTools。我该怎么办?

myCode:仅main.js

const {app, BrowserView, BrowserWindow} = require('electron');

let win;
let view;
app.on('ready', () => {
    win = new BrowserWindow({width: 800, height: 600});
    win.on('closed', () => {
        win = null
    });
    view = new BrowserView({
        webPreferences: {
            nodeIntegration: false
        }
    });
    win.setBrowserView(view);
    view.setBounds({x: 0, y: 0, width: 800, height: 600});
    view.webContents.loadURL('https://skyroom.online');
    win.openDevTools();
});

official docs

3 个答案:

答案 0 :(得分:1)

openDevTools基本上是webContents的功能(在BrowserWindow上使用时,它仅被重定向) 所以你可以用打开主窗口的devtools win.webContents.openDevTools() 对于BrowserView view.webContents.openDevTools() 或者直接使用devTools选项创建视图以默认启用它 view = new BrowserView({webPreferences:{devTools:true}}

答案 1 :(得分:1)

我遇到了同样的问题..不确定确切的错误是什么,但是在我的情况下,我的模型返回了null。我将其更改为一些值,并使用jquery进行了处理,从而解决了我的问题。

答案 2 :(得分:0)

在不向当前窗口提供HTML(或某些有效URL)文件的情况下打开DevTools时会发生这种情况。

启动应用程序时,需要在使用toggleDevTools之前将HTML文件加载到窗口中。在使用mainWindow.loadUrl('url to an html file or some url')构建mainWindow之后,通过使用例如BrowserWindow()解决该问题。您尝试在win窗口中打开DevTools,但未定义URL,因此它只是一个Electron窗口,其中包含任何内容。