1. ホーム
  2. javascript

[解決済み] ブラウザウィンドウで現在のタブを閉じるには?

2022-03-18 03:43:42

質問

ブラウザの他のタブを閉じることなく、現在アクティブなタブを閉じるリンクをウェブページに作成したいのですが、可能でしょうか?
ユーザーが閉じるリンクをクリックすると、アラートメッセージが表示され、"YES" と "NO" の2つのボタンで確認するよう求めます。ユーザーが"YES"をクリックした場合は、そのページを閉じ、"NO"の場合は、何もしないようにします。

どうすればいいのでしょうか?何か提案はありますか?

どのように解決するのですか?

このためには、Javascriptが必要です。使用方法 window.close() :

close();

は、現在のタブを意味します。これは同等です。

window.close();

または、別のウィンドウを指定することができます。

だから

function close_window() {
  if (confirm("Close Window?")) {
    close();
  }
}

をHTMLで表示します。

<a href="javascript:close_window();">close</a>

または

<a href="#" onclick="close_window();return false;">close</a>

あなた return false ここで、イベントのデフォルトの動作を阻止する。そうしないと、ブラウザはそのURLに移動しようとします(明らかにそうではありませんが)。

ここで window.confirm() ダイアログボックスは、OK と Cancel になります(Yes と No ではありません)。もし、あなたが 本当に YesとNoを使い分けるには、Javascriptのモーダルダイアログボックスを作成する必要があります。

注意 には、ブラウザ固有の差異があります。Javascriptでウィンドウを開いた場合(via window.open() ) では、javascript でウィンドウを閉じることが許可されています。Firefoxは、他のウィンドウを閉じることを禁止しています。IEはユーザーに確認を求めると思います。他のブラウザは異なるかもしれません。