[TOC] > [https://electronjs.org/docs/api/browser-window#class-browserwindow](https://electronjs.org/docs/api/browser-window#class-browserwindow) ## 概述 初始化 `var win = new BrowserWindow({ width: 800, height: 600, show: false }); ` ## 接口 ### new BrowserWindow([options]) `options`Object * `width`Integer - 窗口宽度,单位像素. 默认是`800`. * `height`Integer - 窗口高度,单位像素. 默认是`600`. * `x`Integer - 窗口相对于屏幕的左偏移位置.默认居中. * `y`Integer - 窗口相对于屏幕的顶部偏移位置.默认居中. * `center`Boolean - 窗口屏幕居中. * `minWidth`Integer - 窗口最小宽度,默认为`0`. * `minHeight`Integer - 窗口最小高度,默认为`0`. * `maxWidth`Integer - 窗口最大宽度,默认无限制. * `maxHeight`Integer - 窗口最大高度,默认无限制. * `resizable`Boolean - 是否可以改变窗口size,默认为`true`. * `movable`Boolean - 窗口是否可以拖动. 在 Linux 上无效. 默认为`true`. * `minimizable`Boolean - 窗口是否可以最小化. 在 Linux 上无效. 默认为`true`. * `maximizable`Boolean - 窗口是否可以最大化. 在 Linux 上无效. 默认为`true`. * `closable`Boolean - 窗口是否可以关闭. 在 Linux 上无效. 默认为`true`. * `alwaysOnTop`Boolean - 窗口是否总是显示在其他窗口之前. 在 Linux 上无效. 默认为`false`. * `fullscreen`Boolean - 窗口是否可以全屏幕. 当明确设置值为When`false`,全屏化按钮将会隐藏,在 OS X 将禁用. 默认`false`. * `fullscreenable`Boolean - 在 OS X 上,全屏化按钮是否可用,默认为`true`. * `skipTaskbar`Boolean - 是否在任务栏中显示窗口. 默认是`false`. * `title`String - 窗口默认title. 默认`"Electron"`. * `icon`[NativeImage](https://www.kancloud.cn/wizardforcel/electron-doc/137812)\- 窗口图标, 如果不设置,窗口将使用可用的默认图标. * `show`Boolean - 窗口创建的时候是否显示. 默认为`true`. * `frame`Boolean - 指定`false`来创建一个 * `acceptFirstMouse`Boolean - 是否允许单击web view来激活窗口 . 默认为`false`. * `disableAutoHideCursor`Boolean - 当 typing 时是否隐藏鼠标.默认`false`. * `autoHideMenuBar`Boolean - 除非点击`Alt`,否则隐藏菜单栏.默认为`false`. * `enableLargerThanScreen`Boolean - 是否允许允许改变窗口大小大于屏幕. 默认是`false`. * `backgroundColor`String -窗口的 background color 值为十六进制,如`#66CD00`或`#FFF`或`#80FFFFFF`(支持透明度). 默认为在 Linux 和 Windows 上为 `#000`(黑色) , Mac上为`#FFF`(或透明). * `hasShadow`Boolean - 窗口是否有阴影. 只在 OS X 上有效. 默认为`true`. * `darkTheme`Boolean - 为窗口使用 dark 主题, 只在一些拥有 GTK+3 桌面环境上有效. 默认为`false`. * `transparent`Boolean - 窗口[透明](https://www.kancloud.cn/wizardforcel/electron-doc/frameless-window.md). 默认为`false`. * `type`String - 窗口type, 默认普通窗口. 下面查看更多. * `titleBarStyle`String - 窗口标题栏样式. 下面查看更多. * `webPreferences`Object - 设置界面特性. 下面查看更多. ### BrowserWindow.getAllWindows() ### BrowserWindow.getFocusedWindow() 返回聚焦的窗口,无为null ### BrowserWindow.fromId(id) 查窗口 ## 实例属性 ### win.webContents 返回 `webContents ` ### win.id ## 实例方法 ### win.destroy() 强制关闭 ### win.close() 等效于窗口的关闭 ### win.focus() ### win.isFocused() ### win.show() 展示并且使窗口获得焦点. ### win.hide() ### win.maximize()/isMaximized() 窗口最大化 ### win.minimize()/isMinimized() ### win.setFullScreen(Boolean)/isFullScreen() 设置是否全屏 ### win.setMenu(menu) 设置菜单 ### win.setAutoHideMenuBar(boolean) 设置自动隐藏菜单栏,`alt` 键 切换 ### win.setProgressBar(number); 开始栏图片的进度条 ## 事件 ### Event: 'closed' 当窗口已经关闭的时候触发.当你接收到这个事件的时候,你应当删除对已经关闭的窗口的引用对象和避免再次使用它. ### Event: 'unresponsive' 在界面卡死的时候触发事件. ### Event: 'responsive' 在界面恢复卡死的时候触发. ### Event: 'blur' 在窗口失去焦点的时候触发. ### Event: 'focus' 在窗口获得焦点的时候触发. ### Event: 'maximize' 在窗口最大化的时候触发.