1

マスターページのあるウェブサイトがあります。ブラウザ/タブを閉じようとしているユーザーを捕まえたい。bodyタグでonunloadを使用しようとすると、ブラウザを閉じようとしたときだけでなく、別のページに移動したときにも起動します。

ブラウザを閉じるイベントのみをキャッチする方法はありますか?

4

1 に答える 1

1

ブラウザを閉じることと別のページに移動することを区別することはできません。どちらの場合も、現在のページがアンロードされます。

更新: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>
于 2011-06-09T10:11:43.843 に答える