【问题标题】:DevTools was disconnected from the page, electronDevTools 与页面断开连接,电子
【发布时间】:2019-07-26 15:22:04
【问题描述】:

伙计们,我需要在我的电子应用程序中打开一些 Web 应用程序,我使用了 <webview> 标签,但电子的 [官方文档][1] 提议使用 BrowserView
所以我使用了BrowserView,但是我得到了 DevTools 与页面错误断开连接!
只是我的BrowserView 需要 DevTools,而不是我的整个应用程序。我该怎么办?

我的代码:只需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://example.com');
    win.openDevTools();
});

【问题讨论】:

    标签: javascript electron desktop-application


    【解决方案1】:

    openDevTools 基本上是webContents 的一个函数(在BrowserWindow 上使用时,它只是redirected

    因此您可以使用以下命令打开主窗口的 devtools

    win.webContents.openDevTools()
    

    对于BrowserView

    view.webContents.openDevTools()
    

    【讨论】:

    • { devTools: true } 是默认的,不会打开它们,只是启用它们(所以你可以使用openDevTools()
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 请添加一些解释,以便其他人能够理解!如果可能,请添加您尝试过的代码,以便我们提供帮助。
      猜你喜欢
      • 2018-10-24
      • 2019-07-28
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      相关资源
      最近更新 更多