2017-09-26 9 views
0

ユーザーがイベントwindow.onunloadまたはwindow.onbeforeunload内の現在のページを再読み込みしているかどうかを確認できますか?ユーザーがonunloadで現在のページをリロードしているかどうかを確認

ユーザーがページを再読み込みしているかどうかを確認し、自分のコードがCookieを削除しないようにする必要があります。

window.onunload = window.onbeforeunload = function(e) { 

    // How can I detect a page refresh? 
    if (USER_NOT_REFRESHING) 
     $.removeCookie("my_session", { path: '/' }); 
    else { 
     // user is refreshing 
    } 

} 
+0

あなたはそれを検出することができません – epascarello

+0

私はユースケースが何であるか疑問に思っています - なぜユーザーがページを離れるので、単にクッキーを削除したいですか?彼らが1分以内に戻った場合のセッションを維持したくないですか?それ以外の場合は、セッションを使用するポイントは何ですか? –

+0

ロードされていないページは検出できませんが、セッションまたはクッキーでloadイベントを使用して、同じページがすでにロードされているかどうかを確認できます。 – PHPglue

答えて

0

いいえ、不可能です。ブラウザは、ユーザーが理由を示すのではなく、離れることを示します。

0

あなたはブラウザがパフォーマンスのナビゲーションをサポートしている場合、その後、あなたが実行してリロードを確認することができ、そうPerformanceNavigation API

を使用して試すことができます:

if(performance.navigation.type===1) { 
// it's a reload 
} 

を上記の方法は、コードのために動作しない場合がありますが

スニペット
関連する問題