IEのファンクションキーの無効化
実行環境
IE9 Windows7 64bit VS2010(.NET 2.0)
こちらのコードでうまくいったけど、突然下のエラーが。
if(event.keyCode >= 112 && event.keyCode <= 123) { event.keyCode = null; event.returnValue = false; }
調べてみたらセキュリティ上の仕様だった。
IE では、悪意のあるスクリプト コードによってユーザーの意図しないファイルが
クライアント システムから送信される危険性を排除するため、
ファイル アップロード フォーム (file 型の input 要素) がフォーカスを持つ場合に
event.keyCode プロパティ値を変更する処理を禁止するように実装されている
ブラウザの仕様じゃ仕方がないので、とりあえずエラーだけ回避して終わりにした。
if (!(event.srcElement.tagName == "INPUT" && event.srcElement.type == "file")) { event.keyCode = null; event.returnValue = false; }
あとはこの機能の重要度で対策を考える。