jQueryはページの読み込みとリフレッシュを区別する

jQueryでページの読み込みとページの更新を区別する必要があります。私はどのように次のコードを実装するか分かりません。

if( /* this page is loaded reffered */ )
    ++count ;
else if( /* this paged is refreshed */ )
    alert("refreshed");
1
それは本質的に同じことです。しかしasp.netでは、ある種のコントロール(ボタンのような)によってリフレッシュ/リロードが開始された場合、 IsPostback プロパティであなたの運を試すことができます。それ以外の場合は、このセッションで最初にページが読み込まれたかどうかを知るために、セッション中のいくつかのカウンタ/フラグを維持する必要があります。
追加された 著者 TheVillageIdiot,
リフレッシュの間にある種の状態を維持する必要があるからですか?そうであれば、サーバーサイドの session コントロールを使用できます。それ以外の場合は、クライアント側のCookieを使用できます。
追加された 著者 Thor Jacobsen,

2 答え

単純なカウンターを使用しても機能しません。半疑似コードで説明しようとします

$(document).ready(function(){
  if(isPageLoadCookiePresent){
     //this is a page load
     setPageLoadCookie();
  }else{
     //this is a page refresh
  } 
});

また、Cookieを設定する代わりに、HTML5 WebストレージAPIを使用することもできます。

saveButton.addEventListener('click', function() {
  window.localStorage.setItem('value', area.value);
  window.localStorage.setItem('timestamp', (new Date()).getTime());
}, false);
textarea.value = window.localStorage.getItem('value');

Taken from here

3
追加された

あなたはこれを実装するためにハッシュを使うことができます:

var loc = window.location,
    isLoad = false;
if (String(loc.hash).indexOf('loaded') === -1) {
    loc.hash += 'loaded';
    isLoad = true;
}

次にisLoadをチェックして、リフレッシュされているかどうかを確認します。

1
追加された