Electron + node.jsで作成したアプリでBrowserViewを使用する(Windows)
Electronにウェブコンテンツを埋め込む場合にBrowserViewを使用します。
メインプロセス
BrowserViewのインスタンスを生成します。contextIsolation: trueにします。
BrowserView#setBoundsメソッドでxy軸やwidth,heightを指定します。
view.setBounds({x: 300, y: 0, width: 400, height: 400})
BrowserView#webContents.loadURLメソッドの引数にURLを指定します。
view.webContents.loadURL('https://www.yahoo.co.jp/')
BrowserWindow#setBrowserViewメソッドの引数にBrowserViewのインスタンスを設定します。
win.setBrowserView(view) // viewを複数指定した場合は後勝ち
index.js(メインプロセス)
const { app, BrowserWindow, BrowserView } = require('electron')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: true
}
})
const view = new BrowserView({
webPreferences: {
contextIsolation: true
}
})
win.setBrowserView(view) // viewを複数指定した場合は後勝ち
view.setBounds({x: 300, y: 0, width: 400, height: 400})
view.webContents.loadURL('https://www.yahoo.co.jp/')
// win.loadFile('index.html')
}
app.whenReady().then(createWindow)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
注意点
一つのウィンドウに複数のBrowserViewを設定することができません。後勝ちになってしますようなので複数指定は不可です。
ドキュメント
BrowserView | Electron
YAML history deprecated: - pr-url: breaking-changes-header: deprecated-browserview
サンプル
GitHub - takahashi-h5/electron-browserview01
Contribute to takahashi-h5/electron-browserview01 development by creating an account on GitHub.

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^

コメント