HTML5打开手机扫码功能及优缺点_html5教程技巧

这篇文章主要介绍了html5打开手机扫码功能及优缺点的相关html5资料,对html5感兴趣的朋友可以参考下

1.解决的问题:

1.能够在微博客户端呼起摄像头扫描二维码并且解析;

2.能够在原生浏览器和微信客户端中扫描二维码并且解析;

2.优点:

立即学习“前端免费学习笔记(深入)”;

web端或者是 h5端可以直接完成扫码的工作;

3.缺点:

图片不清晰很容易解析失败(拍照扫描图片需要镜头离二维码的距离很近),相对于 native 呼起的摄像头解析会有1-2秒的延时。

说明:

此插件需要配合zepto.js 或者 jQuery.js使用

使用方法:

1.在需要使用的页面按照下面顺序引入lib目录下的 js 文件

            

2.自定义按钮的 html 样式

为自定义的按钮添加自定义属性,属性名称为node-type

为 input 按钮添加自定义的属性, 属性名称为node-type

因为该插件需要使用,该 html 结构在网页上面是有固定的显示样式,为了能够自定义按钮样式,我们可以按照下面的示例代码结构嵌套代码

 

扫描二维码1

然后设置 input 按钮的 css 隐藏按钮,比如我使用的是属性选择器

input[node-type=jsbridge]{    display:none;}

这里我们只需要按照自己的需要定义class=”qr-btn”的样式即可。

3.在页面上初始化 Qrcode 对象

 //初始化扫描二维码按钮,传入自定义的 node-type 属性    $(function() {        Qrcode.init($('[node-type=qr-btn]'));    });

主要代码解析

(function($) {    var Qrcode = function(tempBtn) {        var _this_ = this;        var isWeiboWebView = /weibo/.test(navigator.userAgent);        if (isWeiboWebView) {            if (window.WeiboJSBridge) {                _this_.bridgeReady(tempBtn);            } else {                document.addEventListener('WeiboJSBridgeReady', function() {                    _this_.bridgeReady(tempBtn);                });            }        } else {            _this_.nativeReady(tempBtn);        }    };    Qrcode.prototype = {        nativeReady: function(tempBtn) {            $('[node-type=jsbridge]',tempBtn).on('click',function(e){                e.stopPropagation();            });            $(tempBtn).bind('click',function(e){                $(this).find('input[node-type=jsbridge]').trigger('click');            });            $(tempBtn).bind('change', this.getImgFile);        },        bridgeReady: function(tempBtn) {            $(tempBtn).bind('click', this.weiBoBridge);        },        weiBoBridge: function() {            window.WeiboJSBridge.invoke('scanQRCode', null, function(params) {                //得到扫码的结果                $('.result-qrcode').append(params.result + '
'); }); }, getImgFile: function() { var _this_ = this; var inputDom = $(this).find('input[node-type=jsbridge]'); var imgFile = inputDom[0].files; var oFile = imgFile[0]; var oFReader = new FileReader(); var rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i; if (imgFile.length === 0) { return; } if (!rFilter.test(oFile.type)) { alert("选择正确的图片格式!"); return; } oFReader.onload = function(oFREvent) { qrcode.decode(oFREvent.target.result); qrcode.callback = function(data) { //得到扫码的结果 $('.result-qrcode').append(data + '
'); }; }; oFReader.readAsDataURL(oFile); }, destory: function() { $(tempBtn).off('click'); } }; Qrcode.init = function(tempBtn) { var _this_ = this; tempBtn.each(function() { new _this_($(this)); }); }; window.Qrcode = Qrcode;})(window.Zepto ? Zepto : jQuery);

总结

以上所述是小编给大家介绍的HTML5打开手机扫码功能及优缺点,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!

相关推荐:

html5唤起app的方法

用CSS3优化HTML5表单的步奏

几个很好用的HTML5移动开发框架

以上就是HTML5打开手机扫码功能及优缺点_html5教程技巧的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1545485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 17:00:23
下一篇 2025年12月21日 17:00:31

相关推荐

  • HTML5实现分享各大微信QQ等交流平台二维码功能

    本文主要介绍了html5实现分享到微信好友朋友圈qq好友qq空间微博二维码功能的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。 这是分享按钮: 通用分享微信好友朋友圈QQQQ空间微博  这是js调用代码: var nativeShare = new NativeSha…

    好文分享 2025年12月21日
    000
  • HTML5 Ajax文件上传进度条如何显示

    这篇文章主要介绍了html5 ajax文件上传进度条是如何显示的,基于原生html5实现,不需要falsh支持,进度可以自定义显示,控制灵活,对html5上传进度条感兴趣的小伙伴们可以参考一下 原本打算使用jquery插件进行异步文件上传,比如uploadfy但是需要额外的支持,也有人用iframe…

    好文分享 2025年12月21日
    000
  • 巧用HTML5给按钮背景设计不同的动画

    如何巧用html5设计按钮背景不同动画特效,在该特效中,当鼠标滑过按钮时,使用css3   animation 来动画   background-size  和  background-position  属性,来实现各种背景动画效果。本文就和大家分享html5给按钮背景设计不同的动画简单实例。小编…

    2025年12月21日 好文分享
    000
  • 用h5做出微信的支付过程的实现步骤

    这次给大家实现的案例是用户在微信里打开网页的时候,也可以调用微信支付来完成下单功能。当然,微信官网的,开发文档也有很详细的介绍,但是今天我们来教大家怎样手动做出支付接口的开发。 以提交问题流程为例描述分答微信h5支付过程 1、提交问题domobiletutor方法 (1)费用 (2)支付说明 (3)…

    2025年12月21日
    000
  • 用H5做有特效的下拉框

    今天教大家如何用h5做出一个有小特效的下拉框。当你点击下拉框的内容会就出现在文本域中的一个小特效,下面来看一下详细案列代码。 HTML中有个下拉框,包含“风,雨,雷,电”,添加事件,当选择风时,文本域内出现选择 Title 风 雨 雷 电 function ShowToText(){ documen…

    好文分享 2025年12月21日
    000
  • html5中的DOM编程的实现步骤

    这次给大家介绍什么是dom编程,我们知道,dom是documentobjectmodel的缩写,中文名称是文档对象模型。同时dom也是处理html页面的标准编程接口,那么我们为什么要学习dom呢? 1,DOM可以让用户对网页元素进行交互操作 比如,当我点击了一个按钮,弹出一个对话框等操作。 2,DO…

    好文分享 2025年12月21日
    000
  • 服务端主动发送数据回客户端在H5里的实现步奏

    我们知道,在server sent event里,通过eventsource对象接收服务器发送事件的通知是有三个事件的,message, open, error这三种,今天就给大家演示一下服务端主动发送数据回客户端在h5里的实现步奏。 Server Sent Event Server Sent Ev…

    好文分享 2025年12月21日
    000
  • H5的多线程如何实现Web Worker

    很多人问过我,h5的多线程如何实现web worker的?当我们说到这个问题的时候首先你需要知道,什么是web worker,那么今天就来给大家解答下这个问题。 将JavaScript代码交给Web Worker在后台执行时,页面就可以在JavaScript运行期间依然可以响应用户操作,以防止出现页…

    好文分享 2025年12月21日
    000
  • h5里js和servlet实现文件上传的实现步骤

    这次教大家的是在h5里如何用js和servlet来实现文件上传,不过有一个前提条件,必须要是h5和jsp3.0版本,因为用到了新属性,获取file对象和后台得到part对象。 下面给大家看一个案列 前台jsp Insert title here name: 文件: 提交 function btu()…

    好文分享 2025年12月21日
    000
  • H5做出手机摇一摇功能的实现步骤

    今天教大家用html5来在网页里实现一个很炫酷的功能,手机摇一摇。如果你之前做过手机端的开发,可能对于这样的功能非常了解。但是下面,我们将在web上首次实现这个功能。 方向事件deviceorientation 该事件实在设备方向发生变化时触发, 使用方法如下; window.addEventLis…

    好文分享 2025年12月21日
    000
  • H5中的弹窗无法用webview弹出怎么解决

    我们偶尔会用到这样一种bug,虽然使用了webview,但是还无法吊起h5中的弹窗。那么怎么解决这个问题呢?我们来看一下。 问题: webview无法吊起H5中的弹窗。 解决方法: 如果是fragment,必须使用getactivity()上下文,不能用全家上下文,否则无法弹窗。 mWebView.…

    好文分享 2025年12月21日
    000
  • html5制作转盘的详解及实例

    今天给大家带来的案列是html5转盘实例,可以直接拿来做抽奖程序,有需要的朋友可以拿去使用,下面是案列代码。 html5制作转盘游戏 h1{ width: 100%; height: 3rem; line-height: 3rem; font-size: 1.8rem; color:#c60; te…

    好文分享 2025年12月21日
    000
  • HTML5中的progress元素的详细介绍及兼容性处理

    本篇文章主要为大家介绍,progress元素的基本属性以及兼容性处理。介绍完progress元素后,下面一个案列也帮助大家更好的理解,一起来看一下。、 一、progress元素基本了解 1.基本UI progress元素属于HTML5家族,指进度条。IE10+以及其他靠谱浏览器都支持。如下简单cod…

    好文分享 2025年12月21日
    000
  • 浏览器兼容HTML5和CSS3的问题

     html5和css3是非常好用并且功能强大的新属性,唯一的重大缺陷就是可能很多旧版浏览器不兼容,今天就给大家分享一下关于旧版的浏览器兼容html5和css3的问题。 1.让老式浏览器支持HTML5  HTML5能为我们做的事儿很多,最为可口的就是语义化标签的应用,如果你已经在Chrome或者其他支…

    好文分享 2025年12月21日
    000
  • H5里的postMessage API图文详解 详细介绍

    关于postmessage,虽然说是html5的功能但是支持ie8+,假如你的网站不需要支持ie6和ie7,那么可以使用window.postmessage。既可以跨域传递,也可以同域传递。 我只是简单的举一个应用场景,当然,这个功能很多地方可以使用。 假如你有一个页面,页面中拿到部分用户信息,点击…

    好文分享 2025年12月21日
    000
  • HTML5标签嵌套规则的详细介绍

    下面给大家带来一份html5标签嵌套规则的详细介绍,总结归纳的非常不错,值得大家作为参考,一起来看一下。 [1]分类 [2]子元素 [3]总结 前面的话   在html5中,元素的子元素可以是块级元素,这在以前是被认为不符合规则的。本文将详细介绍html5的标签嵌套规则 分类   html5出现之前…

    好文分享 2025年12月21日
    000
  • 用H5制作烟花粒子特效的制作方法

    这次给大家带来用h5制作烟花粒子特效的制作方法,怎么用h5制作特效?h5制作烟花粒子特效的流程,h5制作烟花粒子特效的注意事项有哪些,一起来看一下。 Canvas烟花粒子特效制作 Canvas is not supported by your browser. Css部分:* { margin: 0…

    好文分享 2025年12月21日
    000
  • 用H5制作水滴特效教程

    给大家带来用h5制作h5制作水滴特效教程,怎么用h5制作特效?h5制作水滴特效的流程,h5制作水滴特效的注意事项有哪些,一起来看一下。 利用canvas 画布制作逼真的水滴特效 /* NOTE: The styles were added inline because Prefixfree need…

    好文分享 2025年12月21日
    000
  • 用H5和CSS3制作全屏背景轮换播放教程

    这次给大家带来用h5和css3制作全屏背景轮换播放的制作方法,怎么用h5制作特效?h5和css3在使用过程中的注意事项有哪些,下面就是实战案例,一起来看一下。 全屏背景轮换播放 #bg{ position:fixed; top:0; left:0; bottom:0; right:0; z-inde…

    好文分享 2025年12月21日
    000
  • HTML5响应式banner制作教程

    这次给大家带来用html5响应式banner制作方法,怎么用h5制作特效?html5响应式banner的注意事项有哪些,下面就是实战案例,一起来看一下。 HTML5响应式banner MULTIPURPOSE THEME CRAS JUSTO ODIO, DAPIBUS AC FACILISIS R…

    好文分享 2025年12月21日
    000

发表回复

登录后才能评论
关注微信