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