創(chuàng)建和控制瀏覽器窗口邢笙。
需要注意的是磨澡,在主進程和渲染進程調用的方式不一樣
在主進程中直接調用:const {BrowserWindow} = require('electron')
在渲染進程中則需使用remote來調用:const {BrowserWindow} = require('electron').remote
// 在主進程中
const {BrowserWindow} = require('electron')
// 或者在渲染進程中使用 `remote`
// const {BrowserWindow} = require('electron').remote
let win = new BrowserWindow({width: 800, height: 600})
win.on('closed', () => {
win = null
})
// 加載一個遠程地址
win.loadURL('https://github.com')
// 或者加載一個本地文件
win.loadURL(`file://${__dirname}/app/index.html`)
一刺啦、new BrowserWindow([options])的配置項
- width: Integer -窗口寬度,單位像素. 默認是 800
- height: Integer - 窗口高度,單位像素. 默認是 600.
- x: Integer - 窗口相對于屏幕的左偏移位置.默認居中.
- y: Integer - 窗口相對于屏幕的頂部偏移位置.默認居中.
- useContentSize:Boolean - width和 height使用web網頁size, 這意味著實際窗口的size應該包括窗口框架的size,稍微會大一點也切,默認為 false
- 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 - 窗口是否可以全屏幕. 當明確設置值為 false事格,全屏化按鈕將會隱藏惕艳,在 macOS 將禁用. 默認 false
- fullscreenable:Boolean - 在 macOS 上搞隐,全屏化按鈕是否可用,默認為 true
- skipTaskbar:Boolean - 是否在任務欄中顯示窗口. 默認是false
- kiosk:Boolean - kiosk 方式. 默認為 false
- title:String - 窗口默認title. 默認 "Electron"
- icon:NativeImage - 窗口圖標, 如果不設置远搪,窗口將使用可用的默認圖標.
- show:Boolean - 窗口創(chuàng)建的時候是否顯示. 默認為 true
- frame:Boolean - 指定 false來創(chuàng)建一個 Frameless Window. 默認為 true
- acceptFirstMouse:Boolean - 是否允許單擊web view來激活窗口 . 默認為 false
- disableAutoHideCursor:Boolean - 當 typing 時是否隱藏鼠標.默認 false
- autoHideMenuBar:Boolean - 除非點擊 Alt劣纲,否則隱藏菜單欄.默認為 false
- enableLargerThanScreen:Boolean - 是否允許改變窗口大小大于屏幕. 默認是 false
- backgroundColor:String -窗口的 background color 值為十六進制,如 #66CD00(支持透明度). 默認為在 Linux 和 Windows 上為 #000(黑色) , Mac上為 #FFF(或透明).
- hasShadow:Boolean - 窗口是否有陰影. 只在 macOS 上有效. 默認為 true
- darkTheme:Boolean - 為窗口使用 dark 主題, 只在一些擁有 GTK+3 桌面環(huán)境上有效. 默認為 false
- transparent:Boolean - 窗口 透明. 默認為 false
- type:String - 窗口type, 默認普通窗口.
- titleBarStyle:String - 窗口標題欄樣式.
- webPreferences:Object - 設置界面特性.
二、事件
-
Event: 'page-title-updated'
當文檔改變標題時觸發(fā),使用 event.preventDefault() 可以阻止原窗口的標題改變. -
Event: 'close'
在窗口要關閉的時候觸發(fā).