Skip to content

BrowserWindowApi

BrowserWindowApi 接口定义了一系列用于控制窗口的方法,这些方法提供了窗口的显示、隐藏、移动、调整大小等功能

注意:桌面类型组件不支持窗口移动、调整大小、最大化、最小化等操作

alignToScreen

将窗口对齐到当前屏幕

  • align:string 对齐位置

    • 'top-left'
    • 'top-center'
    • 'top-right'
    • 'bottom-left'
    • 'bottom-center'
    • 'bottom-right'

blur

使窗口失去焦点

center

将窗口居中

close

关闭窗口

existsByUrl

检查指定 URL 是否存在

  • url: - 要检查的 URL

return: Promise<boolean>

focus

聚焦窗口

getBackgroundThrottling

getBounds

获取窗口边界

return: Promise<Rectangle>

getMaximumSize

获取窗口的最大尺寸

return: 返回一个 Promise,解析为一个数组,包含窗口的最大宽度和高度

getMinimumSize

获取窗口的最小尺寸

return: 返回一个 Promise,解析为一个数组,包含窗口的最小宽度和高度

getPosition

获取窗口位置

return: 返回一个 Promise,解析为窗口的位置

getSize

获取窗口大小

return: Promise<number[]>

hide

隐藏窗口

isAlwaysOnTop

检查窗口是否总在最前

return: Promise<boolean>

isDraggingWindow

检查窗口是否正在拖动

return: Promise<boolean>

isFocused

return: Promise<boolean>

isMaximized

检查窗口是否最大化

return: Promise<boolean>

isMinimized

窗口是否最小后

return: Promise<boolean>

isResizable

检查窗口是否可调整大小

return: Promise<boolean>

isVisible

检查窗口是否可见

return: Promise<boolean>

maximize

最大化窗口

minimize

最小化窗口

moveTop

将窗口置于最前

openDevTools

打开开发者工具

openUrl

打开指定的 URL

  • url: string 要打开的 URL

  • option: OpenUrlOptions - 可选参数,用于配置 URL 打开的方式

reload

重新加载窗口

restore

还原窗口

setAlwaysOnTop

设置窗口是否总在最前

  • alwaysOnTop: boolean

setBackgroundThrottling

Controls whether or not this window's WebContents will throttle animations and timers when the page becomes backgrounded. This also affects the Page Visibility API.

参考:

  • 😕/www.electronjs.org/docs/latest/api/web-contents#contentssetbackgroundthrottlingallowed

setBounds

设置窗口边界

  • bounds: - 窗口的边界矩形

  • animate: - 是否启用动画

setHasShadow

设置窗口是否有阴影

  • hasShadow: boolean

setIgnoreMouseEvent

设置是否忽略鼠标事件

  • ignore: boolean

setMaximumSize

设置窗口的最大尺寸

  • width: - 最大宽度

  • height: - 最大高度

setMinimumSize

设置窗口的最小尺寸

  • width: - 最大宽度

  • height: - 最大高度

setMovable

设置窗口是否可移动

  • movable: boolean - 是否可移动

setNoActivate

A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. The window should not be activated through programmatic access or via keyboard navigation by accessible technology, such as Narrator.

参考:

setPosition

设置窗口位置

  • options: - 配置窗口位置的选项

setProxy

设置窗口网络代理,设置后所有链接都会断开,最好重新刷新下页面(window.location.reload())

Example:

typescript
BrowserWindowApi.setProxy({
    proxyRules:'socks5://127.0.0.1:7890'
})

setResizable

设置窗口是否可调整大小

  • resizable: boolean - 是否可调整大小

setSize

设置窗口大小

  • width: boolean - 窗口宽度

  • height: boolean - 窗口高度

  • animate: boolean - 是否使用动画(可选)

setZoomFactor

更改缩放倍数 缩放系数是缩放百分比除以 100,即 300% = 3.0

  • factor: Double - 缩放系数,默认为 1.0

setZoomLevel

更改缩放等级 原始尺寸为 0,每升高或将顶代表缩放20%,大和小限制默认分区为 300% 和 50% 缩放公式为 scale := 1.2 ^ level.

  • level: number - 缩放等级,默认为 0

show

显示窗口

showInactive

以不激活窗口的方式显示窗口

startDraggingWindow

开始拖动窗口

stopDraggingWindow

停止拖动窗口

unmaximize

取消最大化窗口