- 締切済み
return falseが効かない(F5キーの無効化)
JavaScriptでF5キーの無効化をしています。 以下のソースで一応は実現できていますが、1台のマシンだけ 無効化されないものがあります。 =================== <html> <head> <title>F5キーを無効にする</title> <script language="JavaScript"> <!-- window.document.onkeydown = function () { if (event.keyCode == 116) { alert("来た"); event.keyCode = null; return false; alert("来てない"); } } //--> </script> </head> <body> </body> </html> =============== 該当のマシンでF5キーを押すと「来てない」のアラートは出ない のですが、再読み込みがされてしまいます。他の端末では 再読み込みはされません。 以下のようなサイトでJavaScriptのバージョン差異を確認しましたが 再読み込みがされる/されない端末では全て一致しました。 http://diaspar.jp/node/49 「インターネットオプション」-「セキュリティの設定」に ついても差異が見られませんでした。 OSはWindowsXpSP2 ブラウザはIE6.0SP2です。 何故このような動作の違いが発生するのか、御分かりになられる方 どなたか教えて下さい。宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- seta_takahiro
- ベストアンサー率60% (23/38)
思い当たる原因があるわけではなく、単純に疑問なのですが、 「来た」のアラートは出るのでしょうか? もし、それも出ない場合、 F5キー以外のキーは押されたイベントを取ることが出来るのでしょうか? それともF5だけ取れないのでしょうか?
補足
説明が不足して申し訳ありません。 (1)F5で再読み込みされないマシン (2)F5で再読み込みされるマシン 「来た」アラートは(1)(2)どちらも出ます。 アラートで「OK」クリック後、(1)は再読み込みされず (2)は再読み込みされてしまいます。 また、「来てない」アラートはどちらも出ません。 つまり双方とも「return false」でfunctionは停止するが その後の処理に動きの違いがあると考えています。 これは別のkeyCodeでも同様のようです。 例えばF11キー(122:キオスクモード)でも (1)はフルスクリーンにならず、(2)はなります。 その場合も双方「来た」は出て「来てない」はでません。 以上、宜しくお願い致します。