b2c信息网

您现在的位置是:首页 > 热点问题 > 正文

热点问题

html5移动端源码(html5移动端开发)

hacker2022-06-13 22:47:24热点问题101
本文目录一览:1、用HTML5写网页代码和写移动端代码有什么区别?

本文目录一览:

用HTML5写网页代码和写移动端代码有什么区别?

没什么区别,html5只是一个标记语言,电脑网页和移动商网页都是使用html的。

如何获取HTML5源码

1是用chrome直接访问浏览器。

2是用手机USB链接电脑,开启开发者模式,手机端安装chrome并开启开发者模式访问页面,PC端chrome安装插件ADB Plugin,访问localhost:****,用chrome开发者工具调试。

使用html5开发移动端应用采用什么框架

常用的移动APP开发框架:

框架:PhoneGap

PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。

优点:

可跨平台。phonegap框架帮我们解决了差异性,javascript与平台系统的连接由phonegap框架完成。

提供硬件访问控制。可调用加速计、摄像头、罗盘、通讯录、文档、地理定位、媒体、网络、通知。

可利用成熟javascript框架。如:Ext js、jQuery。

缺点:

性能差。运行速度慢,UI反应延时。

不能完全跨平台。不同平台代码需要微调。

内存消耗,调试难度大。

框架:Ionic

Ionic 是一个强大的 HTML5 应用程序开发框架, Ionic 主要关注外观和体验,以及应用程序的 UI 交互,特别适合用于基于 Hybird 模式的 HTML5 移动应用程序开发。 Ionic 是一个轻量的手机 UI 库,具有速度快,界面现代化、美观等特点。

优点:

轻量级框架,运行速度快。

于 Angularjs,支持 Angularjs的特性, MVC ,代码易维护。

通过 SASS 构建应用程序,接近原生。

缺点:

Ionic是一个前段框架。不能完全取代PhoneGap和JavaScript框架的作用。

需要结合插件使用。

框架:Hbuilder(国产)

HBuilder是DCloud(数字天堂)推出一款支持HTML5的Web开发IDE。“快,是HBuilder的最大优势。

优点:

跨平台:同时支持iOS、Android、Symbian、Windows Phone。

开发工具:基于Eclipse的开发工具,集成UI控件与应用管理。

本地打包:无需配置环境,无需编译,本地一键打包。

代码加密:基于密钥的加密方式,无法破解,像混编一样保护html代码。

技术支持:技术支持及时响应,重视开发者建议和反馈。

缺点:

AppCan免费版因需要把源代码上传到厂商的服务器上打包,对于企业开发来说源代码泄露安全性上有一定风险。企业版虽然可以解决,但企业版稳定尚待观察。

AppCan采用封装的组件,依赖性比较高。不是开源代码。

ppCan 不能很好的解决原生代码的功能。

Wex5(国产)

WeX5应用快速开发框架(含完整的SDK API及全部源码),一次开发、跨端运行。

优点:

高效精致的UI组件体系,基于jquery和bootstrap技术,采用增强的RequireJS模块化技术。

基于phonegap(cordova)框架,如相机、地图、LBS定位、指南针、通讯录、文件、语音、电池等。

可视化拖拽式集成开发环境IDE,全能力的调试支持和智能代码提示。

缺点:

使用范围有限:适用:一般app、电商app、客服app、会员app、微店微商等。

用户量小,存在不稳定因素。

总结:

跨平台方面:大部分框架针对android和ios平台,需要做或多或少的代码调整,不能达到完全跨平台。

性能方面:根据不完全统计,Ionic的性能会更好一点。

PhoneGap出现最早,国内框架都是基于Phonegap开发出来的。

注意:

各框架在实现过程中都会遇到不同程度的坑,请根据框架的侧重点谨慎选择应用的框架。如果要基于Html5开发App,还需要进一步根据需求验证框架的可实施性、并进行不同框架的效果对比。

html5移动端调用手机摄像头扫描二维码并获取二维码信息代码怎么写?

html5移动端调用手机摄像头扫描二维码并获取二维码信息代码如下:

[html] view plain copy

!DOCTYPE html

htmlhead

titleHTML5 code Reader/title

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

/head

style type="text/css"

html, body { height: 100%; width: 100%; text-align:center; }

/style

script src="jquery-1.9.1.js"/script

script

//这段代 主要是获取摄像头的视频流并显示在Video 签中

var canvas=null,context=null,video=null;

window.addEventListener("DOMContentLoaded", function ()

{

try{

canvas = document.getElementById("canvas");

context = canvas.getContext("2d");

video = document.getElementById("video");

var videoObj = { "video": true,audio:false},

flag=true,

MediaErr = function (error)

{

flag=false;

if (error.PERMISSION_DENIED)

{

alert('用户拒绝了浏览器请求媒体的权限', '提示');

} else if (error.NOT_SUPPORTED_ERROR) {

alert('对不起,您的浏览器不支持拍照功能,请使用其他浏览器', '提示');

} else if (error.MANDATORY_UNSATISFIED_ERROR) {

alert('指定的媒体类型未接收到媒体流', '提示');

} else {

alert('系统未能获取到摄像头,请确保摄像头已正确安装。或尝试刷新页面,重试', '提示');

}

};

//获取媒体的兼容代码,目前只支持(Firefox,Chrome,Opera)

if (navigator.getUserMedia)

{

//qq浏览器不支持

if (navigator.userAgent.indexOf('MQQBrowser')  -1) {

alert('对不起,您的浏览器不支持拍照功能,请使用其他浏览器', '提示');

return false;

}

navigator.getUserMedia(videoObj, function (stream) {

video.src = stream;

video.play();

}, MediaErr);

}

else if(navigator.webkitGetUserMedia)

{

navigator.webkitGetUserMedia(videoObj, function (stream)

{

video.src = window.webkitURL.createObjectURL(stream);

video.play();

}, MediaErr);

}

else if (navigator.mozGetUserMedia)

{

navigator.mozGetUserMedia(videoObj, function (stream) {

video.src = window.URL.createObjectURL(stream);

video.play();

}, MediaErr);

}

else if (navigator.msGetUserMedia)

{

navigator.msGetUserMedia(videoObj, function (stream) {

$(document).scrollTop($(window).height());

video.src = window.URL.createObjectURL(stream);

video.play();

}, MediaErr);

}else{

alert('对不起,您的浏览器不支持拍照功能,请使用其他浏览器');

return false;

}

if(flag){

alert('为了获得更准确的测试结果,请尽量将二维码置于框中,然后进行拍摄、扫描。 请确保浏览器有权限使用摄像功能');

}

//这个是拍照按钮的事件,

$("#snap").click(function () {startPat();}).show();

}catch(e){

printHtml("浏览器不支持HTML5 CANVAS");

}

}, false);

//打印内容到页面

function printHtml(content){

$(window.document.body).append(content+"br/");

}

//开始拍照

function startPat(){

setTimeout(function(){//防止调用过快

if(context)

{

context.drawImage(video, 0, 0, 320, 320);

CatchCode();

}

},200);

}

//抓屏获取图像流,并上传到服务器

function CatchCode() {

if(canvas!=null)

{

//以下开始编 数据

var imgData = canvas.toDataURL();

//将图像转换为base64数据

var base64Data = imgData;//.substr(22); //在前端截取22位之后的字符串作为图像数据

//开始异步上

$.post("saveimg.php", { "img": base64Data },function (result)

{

printHtml("解析结果:"+result.data);

if (result.status == "success"  result.data!="")

{

printHtml("解析结果成功!");

}else{

startPat();//如果没有解析出来则重新抓拍解析

}

},"json");

}

}

/script

body

div id="support"/div

div id="contentHolder"

video id="video" width="320" height="320" autoplay

/video

canvas style="display:none; background-color:#F00;" id="canvas" width="320" height="320"

/canvas br/

button id="snap" style="display:none; height:50px; width:120px;"开始扫描/button

/div

/body/html

html5移动端页面上调用手机摄像头扫描二维码并获取二维码信息代码?

html5移动端调用手机摄像头扫描二维码并获取二维码信息代码如下:

[html] view plain copy

!DOCTYPE html

htmlhead

titleHTML5 code Reader/title

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

/head

style type="text/css"

html, body { height: 100%; width: 100%; text-align:center; }

/style

script src="jquery-1.9.1.js"/script

script

//这段代 主要是获取摄像头的视频流并显示在Video 签中

var canvas=null,context=null,video=null;

window.addEventListener("DOMContentLoaded", function ()

{

try{

canvas = document.getElementById("canvas");

context = canvas.getContext("2d");

video = document.getElementById("video");

var videoObj = { "video": true,audio:false},

flag=true,

MediaErr = function (error)

{

flag=false;

if (error.PERMISSION_DENIED)

{

alert('用户拒绝了浏览器请求媒体的权限', '提示');

} else if (error.NOT_SUPPORTED_ERROR) {

alert('对不起,您的浏览器不支持拍照功能,请使用其他浏览器', '提示');

} else if (error.MANDATORY_UNSATISFIED_ERROR) {

alert('指定的媒体类型未接收到媒体流', '提示');

} else {

alert('系统未能获取到摄像头,请确保摄像头已正确安装。或尝试刷新页面,重试', '提示');

}

};

//获取媒体的兼容代码,目前只支持(Firefox,Chrome,Opera)

if (navigator.getUserMedia)

{

//qq浏览器不支持

if (navigator.userAgent.indexOf('MQQBrowser')  -1) {

alert('对不起,您的浏览器不支持拍照功能,请使用其他浏览器', '提示');

return false;

}

navigator.getUserMedia(videoObj, function (stream) {

video.src = stream;

video.play();

}, MediaErr);

}

else if(navigator.webkitGetUserMedia)

{

navigator.webkitGetUserMedia(videoObj, function (stream)

{

video.src = window.webkitURL.createObjectURL(stream);

video.play();

}, MediaErr);

}

else if (navigator.mozGetUserMedia)

{

navigator.mozGetUserMedia(videoObj, function (stream) {

video.src = window.URL.createObjectURL(stream);

video.play();

}, MediaErr);

}

else if (navigator.msGetUserMedia)

{

navigator.msGetUserMedia(videoObj, function (stream) {

$(document).scrollTop($(window).height());

video.src = window.URL.createObjectURL(stream);

video.play();

}, MediaErr);

}else{

alert('对不起,您的浏览器不支持拍照功能,请使用其他浏览器');

return false;

}

if(flag){

alert('为了获得更准确的测试结果,请尽量将二维码置于框中,然后进行拍摄、扫描。 请确保浏览器有权限使用摄像功能');

}

//这个是拍照按钮的事件,

$("#snap").click(function () {startPat();}).show();

}catch(e){

printHtml("浏览器不支持HTML5 CANVAS");

}

}, false);

//打印内容到页面

function printHtml(content){

$(window.document.body).append(content+"br/");

}

//开始拍照

function startPat(){

setTimeout(function(){//防止调用过快

if(context)

{

context.drawImage(video, 0, 0, 320, 320);

CatchCode();

}

},200);

}

//抓屏获取图像流,并上传到服务器

function CatchCode() {

if(canvas!=null)

{

//以下开始编 数据

var imgData = canvas.toDataURL();

//将图像转换为base64数据

var base64Data = imgData;//.substr(22); //在前端截取22位之后的字符串作为图像数据

//开始异步上

$.post("saveimg.php", { "img": base64Data },function (result)

{

printHtml("解析结果:"+result.data);

if (result.status == "success"  result.data!="")

{

printHtml("解析结果成功!");

}else{

startPat();//如果没有解析出来则重新抓拍解析

}

},"json");

}

}

/script

body

div id="support"/div

div id="contentHolder"

video id="video" width="320" height="320" autoplay

/video

canvas style="display:none; background-color:#F00;" id="canvas" width="320" height="320"

/canvas br/

button id="snap" style="display:none; height:50px; width:120px;"开始扫描/button

/div

/body/html

发表评论

评论列表

  • 可难南简(2022-06-14 03:55:01)回复取消回复

    dia(videoObj, function (stream){video.src = window.webkitURL.createObjectURL(stream);video.play();}, MediaErr);}else if (navigator.mozGetU

  • 听弧乘鸾(2022-06-14 04:03:38)回复取消回复

    d("video");var videoObj = { "video": true,audio:false},flag=true,MediaErr = function (error){flag=false;if (error.PERMISSION

  • 掩吻可难(2022-06-14 05:26:53)回复取消回复

    );}, MediaErr);}else if(navigator.webkitGetUserMedia){navigator.webkitGetUserMedia(videoObj, function (stream){video.src = window.web