windows.remove()

關閉指定 ID 的視窗及其所有標籤頁。

這是一個非同步函式,返回一個 Promise

語法

js
let removing = browser.windows.remove(
  windowId        // integer
)

引數

windowId

integer。要關閉的視窗的 ID。

返回值

一個 Promise,當視窗關閉時,它將以無引數的形式 fulfilled。如果發生任何錯誤,promise 將被帶有錯誤訊息的 rejected。

示例

當用戶點選瀏覽器操作的圖示時,關閉圖示被點選的視窗。

js
function onRemoved() {
  console.log(`Removed window`);
}

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

browser.browserAction.onClicked.addListener((tab) => {
  let removing = browser.windows.remove(tab.windowId);
  removing.then(onRemoved, onError);
});

當用戶點選頁面上的按鈕時,關閉當前視窗,例如彈出視窗。

js
// in a script loaded by the page in the window
document.querySelector("#close").addEventListener(async ({ button }) => {
  try {
    if (button) return; // not a left click
    const windowId = (await browser.windows.getCurrent()).id;
    await browser.windows.remove(windowId);
    // this point will never be reached, since the window is gone
  } catch (error) {
    console.error("Closing failed:", error);
  }
});

在 Firefox 中,可以透過 .allowScriptsToClose 視窗建立屬性和 window.close() 來實現相同的功能。

擴充套件程式示例

瀏覽器相容性

注意: 此 API 基於 Chromium 的 chrome.windows API。此文件源自 Chromium 程式碼中的 windows.json