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,该 Promise 将使用一个包含更新窗口详细信息的 windows.Window 对象来 fulfilled。如果发生任何错误,Promise 将被拒绝并带有错误消息。

示例

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

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