Window: close() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

Window.close() 方法用於關閉當前視窗,或呼叫它的那個視窗。

如果視窗是由 Web 內容建立的,那麼它們就是可由指令碼關閉的。這通常包括:

  • 使用 Window.open() 開啟的視窗
  • 透過 Web 內容開啟的視窗,例如連結 (<a target="_blank">) 或表單 (<form target="_blank">),在沒有使用者互動操作的情況下開啟的。

透過瀏覽器 UI 操作開啟的視窗——例如右鍵點選 → 在新標籤頁中開啟、Ctrl+點選、Shift+點選或中鍵點選——通常不可由指令碼關閉。它們可能只有在沒有導航過(歷史記錄長度仍為 1)的情況下才能關閉。否則,呼叫 close() 通常會顯示一個控制檯警告:Scripts may not close windows that were not opened by script.(指令碼不能關閉非由指令碼開啟的視窗。)

另外請注意,當呼叫 HTMLIFrameElement.contentWindow 返回的 Window 物件時,close() 方法無效。

語法

js
close()

引數

無。

返回值

無(undefined)。

示例

關閉使用 window.open() 開啟的視窗

本示例演示了一個開啟視窗的方法,以及一個關閉視窗的方法;這說明了如何使用 Window.close() 關閉透過呼叫 window.open() 開啟的視窗。

js
// Global variable to store a reference to the opened window
let openedWindow;

function openWindow() {
  openedWindow = window.open("more-info.htm");
}

function closeOpenedWindow() {
  openedWindow.close();
}

規範

規範
HTML
# dom-window-close-dev

瀏覽器相容性