4

ページ/ブラウザが次のように閉じたときに起動するJavaScript関数があります。

  window.onbeforeunload = function (e) {

    var y = window.event.clientY;// e.pageY || e.clientY;

    if (y < 0) {

        alert('Window closed');

    }
    else {
        alert('Window refreshed');

    }

この機能は IE では正常に機能しますが、他のブラウザーでは機能しません。Webページのブラウザ/タブを閉じるときにのみ、この関数を起動したい。ページの更新/再読み込みではありません。

助けてください。

4

1 に答える 1

2

この機能は IE では正常に機能しますが、他のブラウザーでは機能しません。

それは絶対に正常です。他のブラウザでは、この機能で警告することはできません。

Chromeでそのフィドルを確認してください:

ここに画像の説明を入力

onbeforeunload申し訳ありませんが、ハンドラーでのアラートについては忘れてください。このハンドラーで行う必要があるのは、文字列の結果を返すことだけです。

window.onbeforeunload = function (e) {
    var y = window.event.clientY;// e.pageY || e.clientY;
    if (y < 0) {
        return 'Window closed';
    }
    else {
        return 'Window refreshed';
    }
};

この情報をユーザーに表示する方法を決定するのはブラウザの責任であり、明示的に警告するように指示することによってではありません。

于 2013-06-20T10:51:47.917 に答える