当前位置: 首页 > news >正文

javascript实现QR code扫描


本例基于instascan : https://github.com/schmich/instascan


1. html
<video id="preview" width="500" height="500"></video>
<input type="text" class="form-control" id="txtScannedQR" style="display: none" placeholder="Scan Result" name="AssetTag"/>

2. javascript 


 
<script src="~/Scripts/instascan.min.js"></script>


    <script type="text/javascript">
        function checkQR() {
            return $("#txtScannedQR").val() != "";
        }


        var scanner = new Instascan.Scanner(
            {
                video: document.getElementById('preview') 
            });
        scanner.addListener('scan', function (content) {
            $("#txtScannedQR").val(content);
            alert(content);
            
        });
        Instascan.Camera.getCameras().then(function (cameras) {
            
            // on mobile pick the rear camera
            if (cameras.length > 1) {
                scanner.start(cameras[1]);
            }
            else if (cameras.length > 0) {
                scanner.start(cameras[0]);
            } else {
                console.error('No cameras found.');
            }
        }).catch(function (e) {
            console.error(e);
        });
    </script>
}



3. 如果运行遇到错误:
getusermedia() no longer works on insecure origins. to use this feature, you should consider switching your application to a secure origin, such as https


是因为这个功能需要https,要在web服务器安装ssl证书并打开443端口就可以了。

相关文章:

  • android webview旋转屏幕导致页面重新加载问题
  • FLEX实践—自创相册
  • Nebula3的渲染线程插件(Render Thread Plugin)
  • android webview 遇到android.os.FileUriExposedException错误
  • Ucweb的发展趋势
  • Asp.net MVC scheduler实现
  • 一幅图对比软件开发框架
  • 移动Mobile Market运营模式初探之二:价值链是关键
  • 为什么我认为软件方法论无效
  • ArcGIS Server Java ADF 案例教程 29
  • Nodejs + azure +webrtc 实现android 和web视频聊天步骤
  • ArcGIS Server Java ADF 案例教程 28
  • SSIS DSN contains an architecture mismatch between the Driver and Application
  • nodejs 客户端拍照调用azure face api对比身份证照片进行验证
  • ArcGIS Server Java ADF 案例教程 31
  • 【Amaple教程】5. 插件
  • Go 语言编译器的 //go: 详解
  • JS字符串转数字方法总结
  • Laravel核心解读--Facades
  • SQLServer之索引简介
  • 工程优化暨babel升级小记
  • 基于 Babel 的 npm 包最小化设置
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 近期前端发展计划
  • 经典排序算法及其 Java 实现
  • 前嗅ForeSpider中数据浏览界面介绍
  • 突破自己的技术思维
  • No resource identifier found for attribute,RxJava之zip操作符
  • MyCAT水平分库
  • 阿里云ACE认证学习知识点梳理
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​第20课 在Android Native开发中加入新的C++类
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # C++之functional库用法整理
  • #162 (Div. 2)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (分布式缓存)Redis分片集群
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)为C# Windows服务添加安装程序
  • ./和../以及/和~之间的区别
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .Net多线程总结
  • .net专家(张羿专栏)
  • @Builder用法
  • @media screen 针对不同移动设备
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析