js 条码枪扫描_JavaScript 扫描枪使用(一)
JavaScript 扫描枪应用(一)
com.js为主要的代码实现,test.html文件为测试的页面,其中包括了com.js文件中方法的调用。以下为测试成功代码:
com.js
//com.js
/**
* 初始化MSComm1对象,并打开串口
*/
function initMSComm(){
document.write("");
document.write(" ");
document.write(" ");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write(" ");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
if(MSComm1.PortOpen==false){
try{
MSComm1.PortOpen=true;
}catch(ex){
alert("com1端口打开失败:"+ex.message);
}
}
}
var mscomm_scan_value = "";
// 串口响应事件
function MSComm1_OnComm(callBackFunction){
switch(MSComm1.CommEvent){
case 2: //接收事件
if(mscomm_scan_value == "") {
mscomm_scan_value = MSComm1.Input;
// 定时读取缓存信息
setTimeout("getMSCommScanValue("+callBackFunction+")",300);
}
break;
default: alert("Event Raised!"+MSComm1.CommEvent);
}
}
function getMSCommScanValue(callBackFunction){
// 读取缓存中剩余的信息
while(MSComm1.InBufferSize > 0) {
mscomm_scan_value += MSComm1.Input;
}
// 执行页面传递过来的函数
callBackFunction(mscomm_scan_value);
// 清空当前读取信息
mscomm_scan_value = ""
}
test.html
JavaScript串口测试
// MSComm1控件每遇到 OnComm 事件就调用 MSComm1_OnComm()函数
MSComm1_OnComm(mscommCallBack)
function mscommCallBack(scanValue) {
var ewtm = document.getElementById("ewtm");
ewtm.value = scanValue;
}
initMSComm();
二维条码:
得出以上结果经过几次失败尝试,尝试内容如下:
1. 将test.html文件中的
// MSComm1控件每遇到 OnComm 事件就调用 MSComm1_OnComm()函数
MSComm1_OnComm(mscommCallBack)
段代码调整为:
window.onload = function() {
MSComm1.OnComm = MSComm1_OnComm;//采用其他方式取代闭包的实现过程
}
2. 在页面head的JavaScript代码中调用initMSComm方法,将Object标签对象添加到页面的一个div中,页面提示加载ActiveX控件,但是无法绑定OnComm事件响应。
3. 当MSComm1.CommEvent为7时表示接收结束,可是只能接收到状态为2的情况,所以无法采用状态为7时的响应事件。
4. 当initMSComm方法调用时,且MSComm1.CommEvent为2的情况下,判断MSComm1.inBufferCount为0时进行事件响应,可能是缓冲等多种原因(具体不太清楚),会导致inBufferCount出现多吃0的情况,所以没有办法使用,最终采用首次执行,定时获取的方式完成缓存内容的读取操作。
我的目的是通过一次方法调用,能够实现对象的加载,响应事件的绑定,以及接收结束执行响应事件操作。由于我对JavaScript不够熟练,所以没能够达到预期的目的,如果有更好的解决办法,希望大家能够给我留言。
js 条码枪扫描_JavaScript 扫描枪使用(一)相关推荐
- 条码软件即时打印扫描条码打印空白的处理方法
使用条形码制作软件制作条码是非常基本的功能,最近有用户在使用条码软件的打印时输入功能时,出现扫描条码后打印空白的情况,这种肯定是不正常的,下面我们就来看一下该如何处理: 首先我们来看一下在中琅条码软件 ...
- 在js中调用微信的扫描二维码功能
在js中调用微信的扫描二维码功能* 关键代码 <html> <head>`在这里插入代码片`<title>js调用微信扫一扫功能测试</title>&l ...
- JS获取扫码设备扫描到的值
一.JS获取扫码设备扫描二维码或者条形码得到的值 扫码设备在扫码二维码或者条形码时,相当于将获取到的值连续并快速的按下对应的键盘按键. 看自己想要怎么获取扫码后的值,一个是实时监听,一个是通过主动触发 ...
- html5.js百度网盘,HTML5 Canvas+js仿百度网盘扫描文件过程加载动画
HTML5 Canvas+js仿百度网盘扫描文件过程加载动画 这是一款简单的HTML5 Canvas+js仿百度网盘扫描文件过程加载动画效果,网盘文件扫描百分比加载动画特效. var w=docume ...
- 前端vue js 高德地图实现雷达扫描加载,借鉴百度地图等方法,采用Canvas解决雷达背景透明度问题,解决Canvas动态指针扫描造成浏览器卡顿问题
前端vue js 高德地图实现雷达扫描加载,借鉴百度地图等方法,采用Canvas解决雷达背景透明度问题,解决Canvas动态指针扫描造成浏览器卡顿问题 经过3天的尝试,借鉴了好几个博客的思路,开发了一 ...
- 从入门到入土:基于Python|ACK|FIN|Null|Xmas|windows|扫描|端口扫描|scapy库编写|icmp协议探测主机|对开放端口和非开放端口完成半连接扫描|全连接扫描|
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- IP地址扫描程序/扫描工具
随着许多组织采用自带设备 (BYOD) 等策略,IT 网络变得越来越复杂.随着越来越多的设备连接到网络,IP 地址扫描势在必行,以确保设备在连接到网络时不会遇到问题.IP 地址扫描器是 OpUtils ...
- 在线cms识别|旁站|c段|信息泄露|cms漏洞扫描|端口扫描|
工具 onlinetools Windows python3.7的版本是ok的,kali python3.8的版本还存在问题 可以尝试用3.7版本尝试 在线cms识别|旁站|c段|信息泄露|工控|系统 ...
- 二维码图片扫描 绘制扫描的图片的边框(Swift)
二维码图片扫描 绘制扫描的图片的边框 (简单的添加一张图片来识别的没有访问相簿) 以后可能会加上 想知道的请关注一下 @IBAction func detectorQRCode() {// .1 获取 ...
- 安装Nessus工具完成对你的windows虚拟机进行扫描 生成扫描报告
1.解压Nessus安装包 unzip 2.进入安装包进行安装,dpkg是用来安装deb软件包的命令,-i选项可以指定安装包的安装路径 3.开启服务8834端口 4.访问nessus页面https:/ ...
最新文章
- [kuangbin带你飞]专题六-生成最小树
- SpringBoot整合Swagger测试api构建
- 云宇宙iwemeta: 亚马逊全面进军元宇宙
- java.lang.NoSuchMethodError
- JavaScript基础02【强制类型转换(String Number Boolean) 其它进制数】
- linux终端帮助,Linux下的帮助命令
- html居右显示语言设置,iOS开发:纯代码设置UIButton文字居左或者居右显示
- vue锚点定位(代码通用) - 总结篇
- Dubbo面试 - Dubbo通信协议
- win7 未授予用户在此计算机上的请求登录类型,Win7提示未授予用户在此计算机上的请求登录类型...
- 电大 计算机网络 网考,2018-2019年最新电大《计算机网络(本)》网络核心课形考网考作业答案.docx...
- python字典有序还是无序_python--基础语法
- 计算机硬盘大小一般都是整数,电脑硬盘怎么精准整数分区
- Qt 中Socket编程实例
- 张亚勤退休百度:一个耐人寻味的微笑
- (附源码)springboot电影院售票与管理系统 毕业设计 011449
- 控制元素到达可视区域内触发动效
- 江南爱窗帘十大品牌 窗帘发展状况怎么样
- Typora:Typora快捷键
- 原生前端实现响应式个人简历网站设计(附源码)
热门文章
- mbedtls里面的rsa应用函数
- Windows10开启电脑卓越性能模式,运行速度提升10%,CUP利用率达到50%
- 跟着实例学eclipse插件开发--第一篇:翻译插件
- 教你轻松搞懂vue-codemirror的基本用法:主要实现代码编辑、验证提示、代码格式化
- php对接腾讯云直播
- 全自动高清录播服务器,全自动高清录播服务器 高清录播系统
- sap erp 消息服务器,九慧信息|SAP_SAP ERP_SAP系统_SAP s/4hana
- 教你如何真正玩转XP共享
- 配置vhost、https、重定向
- HTML标签img--改变图片尺寸