Electron 中文文档 Electron window.open 函数

2024-02-26 开发教程 Electron 中文文档 匿名 0

当在界面中使用 window.open来创建一个新的窗口时候,将会创建一个 BrowserWindow的实例,并且将返回一个标识,这个界面通过标识来对这个新的窗口进行有限的控制.

这个标识对传统的web界面来说,通过它能对子窗口进行有限的功能性兼容控制.想要完全的控制这个窗口,可以直接创建一个 BrowserWindow.

新创建的 BrowserWindow默认为继承父窗口的属性参数,想重写属性的话可以在 features中设置他们.

window.open(url[, frameName][, features])

  • urlString
  • frameNameString (可选)
  • featuresString (可选)

创建一个新的window并且返回一个 BrowserWindowProxy类的实例.

features遵循标准浏览器的格式,但是每个feature 应该作为 BrowserWindow参数的一个字段.

window.opener.postMessage(message, targetOrigin)

  • messageString
  • targetOriginString

通过指定位置或用 *来代替没有明确位置来向父窗口发送信息.

Class: BrowserWindowProxy

BrowserWindowProxywindow.open创建返回,并且提供了对子窗口的有限功能性控制.

BrowserWindowProxy.blur()

子窗口的失去焦点.

BrowserWindowProxy.close()

强行关闭子窗口,忽略卸载事件.

BrowserWindowProxy.closed

在子窗口关闭之后恢复正常.

BrowserWindowProxy.eval(code)

  • codeString

评估子窗口的代码.

BrowserWindowProxy.focus()

子窗口获得焦点(让其显示在最前).

BrowserWindowProxy.postMessage(message, targetOrigin)

  • messageString
  • targetOriginString

通过指定位置或用 *来代替没有明确位置来向子窗口发送信息.

除了这些方法,子窗口还可以无特性和使用单一方法来实现 window.opener对象.