javascript
1<script language="javascript"> 2 3$(function(){ 4 5 $(document).on('keydown', function(e){ 6 if ((e.which || e.keyCode) == 116) { 7 alert("サーバに負荷を掛けるため、手動によるリロードは避けていただくようお願いいたします。"); 8 return false; 9 }else if((e.which || e.keyCode) == 76) {//l 10 updateList(); 11 } 12 13 }); 14 15 16function updateList(){ 17 clearTimeout(id); 18 location.href='https://yahoo.co.jp'; 19 $(window).keydown(function(event){return false;});//ここが問題点 20} 21 22}); 23</script> 24
こういうコードがあります。
何をしたいかといいますと、上部ではdocumentの上でLボタンを押すと、updatelist関数が呼び出され、ヤフーサイトに飛ぶようになっています。
ですが、この状態ではページがヤフーに完全に切り替わるまでであれば、Lキーを何回も押すことができます。
つまり、Lキーを押したままにすると、ヤフーに対するF5攻撃みたいになってしまうのです。
これを避けるために、Lキーを一度押したらjqueryがもう働かなくなるようにすることは可能でしょうか?
ちなみに「//ここが問題点」と末尾に記載されている行は、私が入れたものです。入れたのはいいのですが、うまく働いていないようです…
他にいい方法がありましたら教えていただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/19 03:22