javascript F5とctrl+rでのリロードを禁止する
- 作成日 2020.08.06
- 更新日 2022.06.01
- javascript
- javascript
javascriptでF5キーとctrl+rキーをキャンセルすることでリロードを禁止させるサンプルコードとなります。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 102.0.5005.63
サンプルコード
「F5」キーと「ctrl+r」キーのkeydownイベント時に動作をキャンセルすることで無効化します。
let key = false;
document.addEventListener('keydown', function(e){
if(e.key) key = true;
if((e.which || e.keyCode) == (82 && key) || (e.which || e.keyCode) == 116) e.preventDefault();
});
document.addEventListener('keyup', function(e){
if(e.key) key = false;
});
もしくは、以下でも可能です。
let key = false;
document.onkeydown = (e) => {
if(e.key) key = true;
if((e.which || e.keyCode) == (82 && key) || (e.which || e.keyCode) == 116) e.preventDefault();
};
document.onkeyup = (e) => {
if(e.key) key = false;
};
-
前の記事
Rails6 cssフレームワーク「Base」を使用する手順 2020.08.06
-
次の記事
Rails6 Material Design for Bootstrapを使用する手順 2020.08.06
こちらのコードの場合
キーボードの入力自体がキャンセルされてしまいます(全角は大丈夫)。
早急な記事の訂正を願います。
ご指摘ありがとうございます。修正致しました。