所以我现在正在写电子应用。
为了使我的应用程序更加流畅,我创建了一个BrowserWindow
并仅加载了菜单栏和背景。
此后,我添加了BrowserView
来显示实际内容。
我的BrowserWindow
的代码:
function createWindow() {
win = new BrowserWindow({
width: 800,
height: 600,
show: false,
frame: false,
webPreferences: {
nodeIntegration: true
}
})
win.loadFile(path.join(__dirname, 'views/index.pug'));
win.on('closed', () => {
win = null;
})
win.once('ready-to-show', () => {
win.show();
})
}
我的BrowserView
的代码:
function createViews() {
contentView = new BrowserView({ webPreferences: { nodeIntegration: true } });
win.addBrowserView(contentView);
contentView.setBounds({ x: 0, y: 23, width: win.getBounds().width, height: win.getBounds().height - 23 });
contentView.setAutoResize({ width: true, height: true });
contentView.webContents.loadFile(path.join(__dirname, 'views/imageGallery.pug'));
}
(如果有一个破坏功能来隐藏代码:很抱歉,我没有找到任何代码)
创建窗口后,它会按预期工作,通过鼠标拖动进行正常的调整大小也可以正常工作。
现在,我的问题是,一旦使用函数
win.maximize()
和win.unmaximize()
最大化或取消最大化窗口,我的BrowserView
便会重新调整大小。但是调整大小不再适合BrowserWindow
。BrowserView
的内容在右侧被剪切。
答案 0 :(得分:0)
function createWindow() {
// Create the browser window.
const mainWindow = new BrowserWindow({ useContentSize: true });
const view = new BrowserView();
mainWindow.setBrowserView(view);
view.setBounds({ x: 0, y: 0, width: 800, height: 600 });
view.setAutoResize({ width: true, height: true });
view.webContents.loadURL("https://youtube.com");
}