2013-03-31 14 views
5

私は自分のPHPページでタイマーを使用していますが、若干のページをリフレッシュするときにはタイマーの開始から始まります。 私のPHPページでf5またはreloadオプションを無効にしたい。私のPHPページでリロードとf5を無効にする

ありがとうございます。

+3

これは可能ではありません。 – Maerlyn

+0

どうすれば私のページがリロードされたときにタイマーが始まるのを防ぐことができます –

+0

タイマーの状態を 'onbeforeunload'に保存し、' onload'でそれを復元します。 – Maerlyn

答えて

8

は、私はそれをテストし、それが動作します。

function disable_f5(e) 
{ 
    if ((e.which || e.keyCode) == 116) 
    { 
     e.preventDefault(); 
    } 
} 

$(document).ready(function(){ 
    $(document).bind("keydown", disable_f5);  
}); 
+0

ええ、それは仕事ですが、それはF5を無効にするだけです。 Ctrl + Rはどうですか、右クリック - >リロードアイコンをクリックしますか? – Blackjack

2

このようなブラウザ機能を無効にすることはできません。あなたのページがあなたのF5キーを無効にした場合、あなたはそれを好きですか?疑わしい。ここで何らかのセキュリティを実装しようとしているなら、適切なサーバー側の検証アプローチを検討することをお勧めします。

2

できません - その動作はエンドユーザーによって制御され、正しく行われます!

最も近いことは、ウィンドウが閉じられたり、更新されたときに警告を表示したり、警告に気を付けたり、現在のページに固執したり、要求を無視したり、やり直したりすることができます。

はこちらをご覧ください:Alert when browser window closed accidentally

+0

また、あなたのページがPHPで生成されたという事実は無関係です。 PHP(サーバー側スクリプト言語)は、サーバーからテキスト出力を生成し、通常はHTMLやJavascriptなどのクライアント側言語を出力します。ここから重要なのはサーバーからの出力であり、生成される方法ではありません。私はそれが助けて欲しい! – JoLoCo

+1

他のオプションは、ページの再ロード時に開始するのを防ぐための他のオプションです。 –

+2

ユーザーがページをリフレッシュ(またはリセットしてから戻ってくる場合)すると、タイマー情報がセッションクッキーに保存されます。しかし、それはまったく別の質問です! – JoLoCo

関連する問題