« 不要なインデックスは消しましょう | トップページ | PostgreSQL 9.4について »

2014.07.25

バーコードに含まれてた制御コードを無視する

とある2次元バーコードを読み込んでみたら、なんのためかは不明ながら制御コードが混じっていた。
VB等でキーボードフェッチしている分には何の問題も無かったのだが、ブラウザで使ってみたら大変なことになってしまった。
というのも、スキャンしたら現状のページがブックマーク登録されてしまったのである。

今回紛れ込んでいたのは"Ctrl + D"と同じバイナリコード。
これがFirefox上では「ページをブックマークする」ためのキーバインドと同じだったのである。

データの末尾にあったのでバーコードスキャナの改行制御等で逃げようとしたのだが、機種によってはOK,機種によってはNGとなってしまった。
果てさて、困ったね。

そこにふらりと現れたO君が
「これキーボードフェッチしてるんだから、該当キーを無効化すればいいんじゃねえの?」
と一言。
神の啓示でしたw

というわけで


<script>
// キーボード操作無効化
// Ctrl[17]+D[68] = ページをブックマーク(FF)
//
var isCtrl = false;
var isShift = false;
document.onkeyup=function(e)
{
if(e.which == 16)
isShift=false;
if(e.which == 17)
isCtrl=false;
}
document.onkeydown=function(e)
{
  if(e.which == 16){
    isShift=true;
  }
  if(e.which == 17){
    isCtrl=true;
  }
  if((e.which == 68) && isCtrl == true)
  {
    return false;
  }
}
</script>
こんな感じを組み込んで事なきを得た。
やれやれである。

|

« 不要なインデックスは消しましょう | トップページ | PostgreSQL 9.4について »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2022/60041196

この記事へのトラックバック一覧です: バーコードに含まれてた制御コードを無視する:

« 不要なインデックスは消しましょう | トップページ | PostgreSQL 9.4について »