JavaScriptからブラウザの終了イベントをトラップする方法はありますか?私はページアンロードイベントや何かでこれをしたくありません。ブラウザの閉じるボタンをクリックして処理する必要があります。ハンドルブラウザはJavaScriptで閉じる?
可能ですか?
JavaScriptからブラウザの終了イベントをトラップする方法はありますか?私はページアンロードイベントや何かでこれをしたくありません。ブラウザの閉じるボタンをクリックして処理する必要があります。ハンドルブラウザはJavaScriptで閉じる?
可能ですか?
いいえ、あなたはonbeforeunload
イベントのみがraw javascriptとして利用可能です(jqueryにはこのイベントが含まれていません)。
試してみるには、ここに回答を投稿してください。「回答を投稿する」を押すことなく、ブラウザウィンドウを閉じます。
これは「ウィンドウを閉じる」イベントに最も近い方法です。
ページアンロードイベントはすべてあなたが持っています。それは必ずしもそうではありません。これは、ユーザーの希望を妨害する能力を提供します。ここで
このことについて素晴らしい記事です4guysfromrolla
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit()
{
return message to display in dialog box;
}
</script>
からonbeforeunloadイベントは、すべてのunloadイベントをキャプチャしますが、[閉じる]ボタンをクリックしている場合、ユーザ閉鎖ブラウザを処理するためにいくつかのトリックの方法は、ここではサンプルコード
がありますされます<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
//handle if your mouse is over the document body,
//if not your mouse is outside the document and if you click close button return message or do what you want
var out = false;
$("body").mouseover(function(){
out=false;
}).mouseout(function(){
out=true;
});
$(window).bind('beforeunload', function(e){
if(out)
{return "Do you really want to leave this page now?"}
});
});
</script>
</head>
<body>
<p>
<a href="http://cssbased.com">go outside</a>
<br>
<a href="test.html">reload page</a>
<span> </span>
</p>
</body>
</html>
「いいえ」と少し間違った答えがありますか? –
いいえ:)ここでの解決策は、ブラウザータブを閉じてブラウザ全体を閉じるのではないためです。 –