在 Electron 中实现应用启动时自动全屏显示窗口,可通过以下两种主流方法实现(基于主进程代码):
fullscreen: true
在 main.js
(主进程文件)中创建 BrowserWindow
实例时,通过配置项启用全屏:
const { app, BrowserWindow } = require('electron');
function createWindow() {
const mainWindow = new BrowserWindow({
fullscreen: true, // 关键配置:启动即全屏
webPreferences: {
nodeIntegration: true,
contextIsolation: false
}
});
mainWindow.loadFile('index.html'); // 加载你的页面
}
app.whenReady().then(createWindow);
特点:
setFullScreen(true)
若需在窗口内容加载完成后全屏(例如避免白屏),可监听 ready-to-show
事件:
function createWindow() {
const mainWindow = new BrowserWindow({
width: 800,
height: 600, // 初始尺寸可自定义
webPreferences: { /* ... */ }
});
mainWindow.once('ready-to-show', () => {
mainWindow.setFullScreen(true); // 页面渲染完成后全屏
});
mainWindow.loadFile('index.html');
}
适用场景:
kiosk
模式(锁定全屏)禁用用户退出全屏(如信息亭场景),使用 kiosk: true
:
new BrowserWindow({
kiosk: true, // 强制全屏且无法手动退出
webPreferences: { /* ... */ }
});
注意:此模式下用户无法通过快捷键(如 Esc
)退出全屏,需程序控制。
全屏后窗口无内容?
loadFile('index.html')
或 loadURL()
)。mainWindow.webContents.openDevTools()
)。多窗口全屏控制
每个窗口需独立调用 setFullScreen()
,可通过 ipcMain
接收渲染进程指令动态切换。
方法 | 代码位置 | 特点 | 适用场景 |
---|---|---|---|
创建时配置 | new BrowserWindow |
启动即全屏 | 简单场景,无需延迟 |
事件中动态设置 | ready-to-show |
内容加载后全屏 | 避免渲染前白屏 |
kiosk 模式 | kiosk: true |
禁用退出,强制全屏 | 信息亭、广告机等 |
按需选择方案,通常 方法1 最简洁高效。完整示例可参考 Electron 官方文档或 。