Window.close() メソッドは、現在のウィンドウ、またはそのページ上で呼び出されたウィンドウを閉じます。

このメソッドが許可されるのは、window.open() メソッドを用いたスクリプトにより開かれたウィンドウに対する呼び出しのみです。ウィンドウがスクリプトにより開かれたものでない場合、次のようなエラーがコンソールに表示されます: スクリプトはスクリプトによって開かれたウィンドウ以外を閉じることができません。

構文

window.close();

window.open() で開かれたウィンドウを閉じる

この例は、ウィンドウを開くメソッドと、そのウィンドウを閉じるメソッドです。これは、window.open() の呼び出しにより開かれたウィンドウを閉じる Window.close() の使い方を実演します。

//開いたウィンドウへの参照を保持するグローバル変数
var openedWindow;

function openWindow() {
  openedWindow = window.open('moreinfo.htm');
}

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

現在のウィンドウを閉じる

以前は、window インスタンスclose() を呼び出す代わりに window オブジェクトの close() メソッドを直接呼び出した場合、ブラウザは、スクリプトで開いたウィンドウであるかどうかに関わらず、最前面のウィンドウを閉じていました。セキュリティ上の理由により、スクリプトにより開いたものでないウィンドウを閉じることは許可されなくなりました (Firefox 46.0.1: スクリプトは、そのスクリプトが開いたものでないウィンドウを閉じることができません)。

function closeCurrentWindow() {
  window.close();
}

仕様

仕様書 策定状況 備考
WHATWG HTML Living Standard
window.close() の定義
現行の標準  
HTML5
Window.close() の定義
勧告  

ブラウザーの実装状況

機能 Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有) (有) (有) [1] (有) (有) (有)
機能 Android Chrome for Android Edge Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile iOS WebKit
(Safari/Chrome/Firefox/etc)
基本サポート (有) (有) (有) (有) [1] (有) (有) (有) (有)

[1] Firefox 46.0.1 以降では、Window.close() は同じスクリプトによって開かれたものでないウィンドウを閉じることができなくなりました。これはセキュリティ対策です。

関連情報

MSDN: window.close Method

ドキュメントのタグと貢献者

 このページの貢献者: Marsf, masato-d, momdo, fscholz, khalid32, ethertank, Potappo
 最終更新者: Marsf,