#javascript #electron #desktop-application
#javascript #electron #desktop-приложение
Вопрос:
Ребята, мне нужно открыть какое-то веб-приложение в моем приложении electron, я использовал <webview>
тег, но [официальные документы] [1] electron предлагают использовать BrowserView
.
таким образом, я использовал BrowserView
, НО я получил DevTools был отключен от ошибки страницы!
просто мне нужны DevTools для моего BrowserView
не всего моего приложения. что мне делать?
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://example.com');
win.openDevTools();
});
Ответ №1:
openDevTools
в основном это функция webContents
(при использовании на BrowserWindow
она только перенаправляется)
Таким образом, вы можете открыть devtools главного окна с
win.webContents.openDevTools()
И для BrowserView
с
view.webContents.openDevTools()
Комментарии:
1.
{ devTools: true }
используется по умолчанию и не открывает их, просто включает (чтобы вы могли использоватьopenDevTools()
)
Ответ №2:
Это происходит, когда вы открываете DevTools, не предоставляя HTML-файл (или некоторый допустимый URL) текущему окну.
При запуске вашего приложения вам необходимо загрузить HTML-файл в окно перед использованием toggleDevTools
. Решите это, используя, например, mainWindow.loadUrl('url to an html file or some url')
после того, как вы создадите MainWindow с помощью BrowserWindow()
. Вы пытались открыть DevTools в win
окне, но в нем не определен URL, так что это просто электронное окно с чем угодно внутри этого.
Ответ №3:
Я столкнулся с такой же проблемой.. не уверен, в чем точная ошибка, но в моем случае моя модель возвращала null. Я изменил это на некоторое значение и обработал с помощью jquery, который решил мою проблему.
Комментарии:
1. Пожалуйста, добавьте какое-нибудь объяснение, чтобы другие могли понять! И, если возможно, добавьте свой проверенный код, чтобы мы могли помочь.