windows.update()
更新窗口的属性。使用此方法可以移动、调整大小、聚焦/取消聚焦窗口等。
这是一个返回 Promise
的异步函数。
语法
let updating = browser.windows.update(
windowId, // 整型
updateInfo // 对象
)
参数
windowId
-
integer
。要更新的窗口的 ID。 updateInfo
-
object
。包含要更新的属性值。drawAttention
可选-
boolean
。若为true
,则以一种吸引用户的注意力而不改变当前聚焦的窗口的方式显示这一窗口。效果持续到用户将焦点切换到窗口为止。如果窗口是被聚焦的窗口则此选项无效。设置为false
可以取消之前的drawAttention
请求。 focused
可选-
boolean
。若为true
,将窗口置于前端。如果为false
,将 z 轴顺序中的下一个窗口置于前端。 height
可选-
integer
。要调整窗口大小的高度(以像素为单位)。对于面板,此值将被忽略。 left
可选-
integer
。要将窗口移动到的屏幕左边缘的偏移量(以像素为单位)。对于面板,此值将被忽略。 state
可选-
windows.WindowState
值。窗口的新状态。minimized
、maximized
和fullscreen
状态不能与left
、top
、width
或height
结合使用。 titlePreface
可选-
string
。使用此选项将字符串添加到浏览器窗口的标题开头。根据底层操作系统的不同,这可能无法在没有标题的浏览器窗口上工作(例如 Firefox 中的 about:blank)。 top
可选-
integer
。要将窗口移动到的屏幕顶部边缘的偏移量(以像素为单位)。对于面板,此值将被忽略。 width
可选-
integer
。要调整窗口大小的宽度(以像素为单位)。对于面板,此值将被忽略。
返回值
一个 Promise
,其会兑现为包含更新窗口详细信息的 windows.Window
对象。如果发生任何错误则该 promise 将以错误消息拒绝。
浏览器兼容性
示例
当用户点击浏览器操作的图标时,将窗口移动到左上角:
function onUpdated(windowInfo) {
console.log(`更新窗口:${windowInfo.id}`);
}
function onError(error) {
console.log(`发生错误:${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
。