美文网首页
Electron学习(5)BrowserWindow模块

Electron学习(5)BrowserWindow模块

作者: 叶小七的真命天子 | 来源:发表于2017-10-29 13:35 被阅读565次

创建和控制浏览器窗口。
需要注意的是,在主进程和渲染进程调用的方式不一样
在主进程中直接调用: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 - 窗口创建的时候是否显示. 默认为 true
  • frame:Boolean - 指定 false来创建一个 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 桌面环境上有效. 默认为 false
  • transparent:Boolean - 窗口 透明. 默认为 false
  • type:String - 窗口type, 默认普通窗口.
  • titleBarStyle:String - 窗口标题栏样式.
  • webPreferences:Object - 设置界面特性.

二、事件

  • Event: 'page-title-updated'
    当文档改变标题时触发,使用 event.preventDefault() 可以阻止原窗口的标题改变.
  • Event: 'close'
    在窗口要关闭的时候触发.

相关文章

网友评论

      本文标题:Electron学习(5)BrowserWindow模块

      本文链接:https://www.haomeiwen.com/subject/thrypxtx.html