2016-12-25 3 views
1

私はajax呼び出しを行い、ページロード時にデータベースにユーザーログを保存するJavaスクリプトコードが必要です。しかし、問題は、ユーザーがページをリフレッシュするたびにコードが実行されることです。私は10秒後にページをリフレッシュする場合にのみ、ステートメントを実行したいと思います。ページが10秒前にリフレッシュされると、コードフローの実行を停止する必要があります。10秒後にページを更新するときにのみJavaScriptコードを実行しますか?

+1

クッキーまたはlocalStorageで最後に呼び出された時間を保存する必要があります – charlietfl

答えて

1

を使用し、トリガページのリロードによって:あなたは今、後で保存された時間+ 10秒未満であればリロードチェックの上、(のlocalStorageで)時間を格納する必要が

function store(){ 
//store time: 
now=new Date().getTime(); 
localStorage.setItem("stored",now); 
//your password storing 
} 

window.onload=function(){ 
now=new Date.getTime(); 
if(!localStorage.getItem("stored")){ 
//no time stored, so lets store 
store(); 
return; 
} 
last=localStorage.getItem("stored"); 
//if now is later than last+10seconds 
if(now>last+1000*60*10){ 
store(); 
} 
} 
+0

ありがとう、これは動作しています。 – sandy

+0

youre大歓迎です。回答としてマークしてください、緑のチックを押すトラフ... –

0

Cookieを設定できますか? Cookieの値を現在のパスに設定し、リダイレクト時にCookieの値を現在のURLと照合します。それは(それがリフレッシュされる)と一致した場合、あなたはタイムアウトをクリアするには

Logging = setTimout(function() { 
    Alert("10 seconds passed"); 
    }, 10 * 1000); 

して10秒の遅延をトリガすることができ、このコードはすべて10秒(以上)を実行

clearTimeout(Logging) 
関連する問題