Почему только один BrowserView работает с Electron? - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь иметь два BrowserView в одном окне, рядом.Этот код работает:

const { app, BrowserWindow, BrowserView } = require('electron');
function createWindow() {
    browserWindow = new BrowserWindow({ width: 1200, height: 600 });
    let browserView1 = new BrowserView({ webPreferences: { nodeIntegration: false }});
    let browserView2 = new BrowserView({ webPreferences: { nodeIntegration: false }});
    browserWindow.setBrowserView(browserView1);
    browserWindow.setBrowserView(browserView2);
    browserView1.setBounds({ x: 0, y: 0, width: 600, height: 600 });
    browserView2.setBounds({ x: 600, y: 0, width: 600, height: 600 });
    browserView1.webContents.loadURL('https://www.example.com');
    browserView2.webContents.loadURL('https://www.google.com');
    browserWindow.on('closed', function () { browserWindow = null; });
}
app.on('ready', createWindow);

, но отображается только второй BrowserView.

Как отобразить оба?

1 Ответ

1 голос
/ 06 марта 2019

BrowserView в настоящее время является экспериментальной функцией Electron.Большая часть его функциональности все еще находится в бета-версиях Electron.Поскольку это все еще только в бета-версиях Electron, его небезопасно использовать в производственных выпусках.

Сказав, что мы все еще можем заставить это работать.Сначала установите Electron beta npm install --save electron@v5.0.0-beta.5.

. Затем измените свой файл Electron:

const { app, BrowserWindow, BrowserView } = require('electron');
function createWindow() {
    browserWindow = new BrowserWindow({ width: 1200, height: 600 });
    let browserView1 = new BrowserView({ webPreferences: { nodeIntegration: false }});
    let browserView2 = new BrowserView({ webPreferences: { nodeIntegration: false }});
    browserWindow.addBrowserView(browserView1);
    browserWindow.addBrowserView(browserView2);
    browserView1.setBounds({ x: 0, y: 0, width: 600, height: 600 });
    browserView2.setBounds({ x: 600, y: 0, width: 600, height: 600 });
    browserView1.webContents.loadURL('https://www.example.com');
    browserView2.webContents.loadURL('https://www.google.com');
    browserWindow.on('closed', function () { browserWindow = null; });
}
app.on('ready', createWindow);

Вместо использования setBrowserView() используйте addBrowserView().

Особенность запроса на git

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...