マスターページのあるウェブサイトがあります。ブラウザ/タブを閉じようとしているユーザーを捕まえたい。bodyタグでonunloadを使用しようとすると、ブラウザを閉じようとしたときだけでなく、別のページに移動したときにも起動します。
ブラウザを閉じるイベントのみをキャッチする方法はありますか?
マスターページのあるウェブサイトがあります。ブラウザ/タブを閉じようとしているユーザーを捕まえたい。bodyタグでonunloadを使用しようとすると、ブラウザを閉じようとしたときだけでなく、別のページに移動したときにも起動します。
ブラウザを閉じるイベントのみをキャッチする方法はありますか?
ブラウザを閉じることと別のページに移動することを区別することはできません。どちらの場合も、現在のページがアンロードされます。
更新:jqueryを使用していくつかのケースを処理できる場合があります。つまり、リンクがクリックされるたびに、ウィンドウを閉じたり新しいURLを入力したりすることと区別できるようにフラグを設定します。
<body onunload="checkForClose()">
...
<script>
var _isNavigation = false;
$(document).ready(function () {
// whenever a link is clicked set _isNavigation to true
$('a').click(function () {
_isNavigation = true;
});
});
function checkForClose() {
// show an alert if _isNavigation is not set
if (!_isNavigation) alert("closing the browser (maybe)");
}
</script>