特に社内システムを手がけている方は知っておくといいネタかと思います。本日は「IEのデフォルト機能を禁止する方法」についてです。
こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。本日は、「jQueryでIEのデフォルト機能を禁止する方法」についてです。
貴重な情報に感謝いたします。
IE の デフォルト機能 を 禁止 する - galife
禁止したい機能は以下のようなものを想定しています。
- テキスト選択
- 右クリックメニュー(コンテキストメニュー)
- Ctrl を押しながら マウスホイール
- テキスト、ファイルのドラッグ & ドロップ
追加でこれも
これも「あるある」ですので追加しました。
readonly属性が付いているinput要素においてバックスペースキーで戻らせない
1 2 3 4 5 6 7 |
$('input').on('keydown', function(e) { if($(this).attr('readonly') == 'readonly'){ if ((e.which && e.which === 8) || (e.keyCode && e.keyCode === 8)) { return false; } } }); |
なぜこんな機能が必要なのか
これらの機能はユーザー操作を抑制することになりますので、ヘタをするとユーザーにそのサイトが嫌われる可能性があります。ですがその操作によって致命的(は言い過ぎかもしれませんが)なエラーが発生するのでしたら、導入も致し方ないところと判断するのがシステム制作側の人間です。更にそれが社内システムだった場合は万人に使われることを想定せず、限定した人間、例えば「社員のみに」使われることを想定するケースが多いので、
「利便性よりも確実性」
が重視されます。
そして更に「IEのみ」というのがミソ。
最近はブラウザ間の差異はかなり少なくなりましたが、Web制作者としてはそれでも気になるところです。そこでブラウザを「IEのみ」と限定することで想定外不具合の可能性を抑制できます。またIE、Chrome、Firefoxなど複数のブラウザへの対応である「クロスブラウザ対応開発」の必要性がなくなるため作業工数の短縮にも繋がるわけです。こういう「しばり」が有効なのも社内システムならでは、です。
こういう「しばり」がいつまで有効なのか、それとも気にしなくてもいいブラウザ環境な未来が訪れるのが先か、どちらか分かりませんが、私たちWeb制作者は利便性と確実性を納期と共に推し量りながら今日も開発を進めています。
サービスを使うあなたのために。