js を使用して USB スキャナー データを取得する方法

js を使用して USB スキャナー データを取得する方法

この記事では、USBバーコードスキャナデータを取得するjsの具体的なプロセスを参考までに紹介します。具体的な内容は次のとおりです。

さっそく、コードを見てみましょう。この方法を使うと、最初の文字が抜けたり、文字列が文字化けしたりするなどの問題が回避できます。とても便利です。記録しておきましょう。

中間のAjaxはログイン機能を直接呼び出して自動ログインを実現できる

注: 入力ボックスにはフォーカスが必要です。これは必須です。次に、キャリッジ リターンによって手動ログインがトリガーされないようにするには、onkeypress="if(event.keyCode==13) return false;" の操作を追加する必要があります。キャリッジ リターンが押されると、フォーカスを手動で切り替えるか focus() メソッドを呼び出しない限り、入力ボックスのフォーカスは失われません。

<div class="フォームグループ">
 <label for="inputUsernameEmail">アカウント</label>
 <input type="text" placeholder="アカウントを入力してください" name="ユーザー名" id="ログイン名" class="form-control" autofocus onkeypress="if(event.keyCode==13) return false;">
</div>

コード:

<スクリプト>
  ウィンドウ.onload = (e) => {
   this.start = 新しい Date().getTime()
   コード = '' とします
   lastTime、nextTime を設定します
   最後のコード、次のコード
   それを = これとする
   window.document.onkeypress = 関数 (e) {
    if (window.event) { // IE
     次のコード = e.keyCode
    } else if (e.which) { // Netscape/Firefox/Opera
     次のコード = e.which
    }
    コンソールログ('次のコード', 次のコード)
    if (e.which === 13 || window.event === 13) {
     var デバイスコード = コード;
     console.log(コード)
     console.log('コードのスキャンが完了しました')
     コンソール.timeEnd()
     コード = ''
     最終コード = ''
     最終時刻 = ''
     $.ajax({
      キャッシュ: true、
      タイプ: "POST",
      url: ルートパス + "/admin/login",
      データ: {コード: デバイスコード、タイプ: 1},
      非同期: false、
      エラー: 関数 (リクエスト) {
       $("#ログイン名").val("");
       $.modal.alertError("システムエラー");
      },
      成功: 関数 (データ) {
       $("#ログイン名").val("");
       (データコード == 200) の場合 {
        location.href = rootPath + '/admin/index';
       } それ以外 {
        $.modal.alertError(データ.msg);
       }
      }
     });
    }
    nextTime = 新しいDate().getTime()
    最後の時間 && 最後のコードの場合
     console.log('開始するにはコードをスキャンしてください...')
     コード += e.key
    }
    if (lastCode && lastTime && nextTime - lastTime > 500) { // コードをスキャンする前にキー押下イベントが発生した場合、最初の単語が欠落しないようにします console.log('最初の単語が欠落しないようにします...')
     コード = e.key
    } それ以外の場合 (lastCode && lastTime) {
     console.log('コードをスキャンしています...')
     コード += e.key
    }
    最後のコード = 次のコード
    前回 = 次回
   }
  }
</スクリプト>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • スキャナでスキャンしたバーコードをJavaScriptで取得するアイデアの詳細なコード説明
  • バーコードスキャナの入力データを取得するjsメソッド
  • JSはバーコードスキャナでQRコードをスキャンする機能を実現します

<<:  Tomcat 例外の解決方法 (リクエスト ターゲットに無効な文字が見つかりました。有効な文字は RFC 7230 および RFC 3986 で定義されています)

>>:  MySQL の CPU 負荷が高い問題のトラブルシューティング

推薦する

mysql ルートユーザーを認証できず、Navicat リモート認証プロンプト 1044 の問題を解決します

まず解決策を見てみましょう #------------mysql の root ユーザーに権限を付与...

Windows での MySQL 8.X インストール チュートリアル

以前は MySQL 5.7 を使用していましたが、MySQL にいくつか新しい機能が追加されたため、...

Dockerコンテナのいくつかの保存方法の詳細な説明

目次前面に書かれた複数のストレージマウント方法1.バインドマウント2. 巻数3.tmpfsマウントス...

Linux で gdb を使用してコア ファイルをデバッグする方法

1.コアファイルプログラム実行中にセグメンテーション エラー (コア ダンプ) が発生すると、プログ...

MySQL空間関数を使用してロケーションパンチインを実装するための完全な手順

序文プロジェクトの要件は、ユーザーの現在の位置が特定の地理的位置範囲内にあるかどうかを判断することで...

VUE 3 テレポート コンポーネントと使用構文をすぐに使い始める

目次1. テレポートの紹介1.1. 複数のテレポートを使用する2. テレポートを使用する理由3. テ...

CSS3は小さな矢印のさまざまなグラフィック効果を実現します

CSS を使ってさまざまなグラフィックを実現できるのは素晴らしいことです。画像を切り取る必要はなく、...

LinuxでのDNSサーバーの設定の詳細な説明

1. DNSサーバーの概念インターネットでの通信には IP アドレスの助けが必要ですが、数字に対する...

NetEase ブログで使用されているシンプルな Web ページ コード

NetEase Blog でコードを使用する方法: まずブログにログインし、ブログのホームページの左...

CSS における XHTML タグの対応する属性と使用法

XHTML CSS を使って Web ページをデザインし始めた頃は、タグの使用経験も少なく、あまり気...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...

MySQL 外部キー制約の無効化と有効化コマンド

MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...

MySQL 8.0.16 winx64 のインストールと設定方法のグラフィックチュートリアル (win10 の場合)

この記事では、MySQL 8.0.16 winx64のインストールと設定の具体的な方法を記載します。...

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...