ブラウザ内の他のタブを閉じずに、ブラウザ内の現在アクティブなタブを閉じるリンクを Web ページに作成したいと考えています。
ユーザーが閉じるリンクをクリックすると、警告メッセージが表示され、「はい」と「いいえ」の 2 つのボタンで確認を求められます。ユーザーが「はい」をクリックするとそのページが閉じられ、「いいえ」をクリックすると何も行われません。
どうすればいいでしょうか?何か提案はありますか?
ベストアンサー1
これを行うには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 とキャンセル (はいといいえではありません) が表示されます。本当にはいといいえが必要な場合は、何らかのモーダル JavaScript ダイアログ ボックスを作成する必要があります。
注:上記にはブラウザ固有の違いがあります。Javascript を使用してウィンドウを開いた場合 (経由window.open()
)、Javascript を使用してウィンドウを閉じることができます。Firefox では、他のウィンドウを閉じることはできません。IE では、ユーザーに確認を求めると思います。他のブラウザでは異なる場合があります。