windows.update()

更新窗口的属性。使用此方法可移动、调整大小和(取消)聚焦窗口等。

这是一个异步函数,它返回一个 Promise

语法

js
let updating = browser.windows.update(
  windowId,              // integer
  updateInfo             // object
)

参数

windowId

integer。要更新的窗口的 ID。

updateInfo

object。包含要更新的属性的对象。

drawAttention 可选

boolean。如果为 true,则会以一种吸引用户注意窗口的方式显示窗口,而不会更改聚焦窗口。该效果会持续到用户将焦点更改到窗口为止。如果窗口已获得焦点,则此选项无效。设置为 false 可取消之前的 drawAttention 请求。

focused 可选

boolean。如果为 true,则会将窗口置于最前面。如果为 false,则会将 z 顺序中的下一个窗口置于最前面。

height 可选

integer。以像素为单位调整窗口高度。此值对面板无效。

left 可选

integer。以像素为单位,从屏幕左侧边缘移动窗口的偏移量。此值对面板无效。

state 可选

windows.WindowState。窗口的新状态。minimizedmaximizedfullscreen 状态不能与 lefttopwidthheight 组合使用。

titlePreface 可选

string。使用此方法可在浏览器窗口标题的开头添加字符串。根据底层操作系统,这可能无法在没有标题的浏览器窗口(例如 Firefox 中的 about:blank)上运行。

top 可选

integer。以像素为单位,从屏幕顶部边缘移动窗口的偏移量。此值对面板无效。

width 可选

integer。以像素为单位调整窗口宽度的值。此值对面板无效。

返回值

一个 Promise,它将使用一个包含更新窗口详细信息的 windows.Window 对象来完成。如果发生任何错误,该 promise 将使用错误消息拒绝。

浏览器兼容性

BCD 表仅在浏览器中加载

示例

当用户单击浏览器操作的图标时,将窗口移动到左上角

js
function onUpdated(windowInfo) {
  console.log(`Updated window: ${windowInfo.id}`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

browser.browserAction.onClicked.addListener((tab) => {
  let updating = browser.windows.update(tab.windowId, {
    left: 0,
    top: 0,
  });
  updating.then(onUpdated, onError);
});

示例扩展

注意:此 API 基于 Chromium 的 chrome.windows API。此文档源自 Chromium 代码中的 windows.json