28

ユーザーがページを離れたときにデータを投稿しようとしています。最終的に有効な解決策を見つけることができましたが、ユーザーが離れると確認ダイアログが表示されます。試してみreturn null;ましたが、うまくいきませんでした。ダイアログを無効にすることはできますか?

window.onbeforeunload = function() {
    $.post("track.php", {
        async: false,
        refid: refid,
        country: country, 
        type: type,
    });

    return '';
}
4

6 に答える 6

2

これをテストできますか:

$(window).on('beforeunload', function (e) {
    if (e.originalEvent) $.post("track.php", {
        async: false,
        refid: refid,
        country: country,
        type: type,
    });
    else $.get("", {
        async: false
    });
    $(this).trigger('beforeunload');
}

これにより、多くの無駄なリクエストが作成されますが、最初のリクエストがサーバーに到達するのに十分な時間を確保できるはずです。

于 2013-06-19T10:18:53.093 に答える