解决方案:html5调用*敏*感*词*并拍照
优采云 发布时间: 2022-10-11 16:31解决方案:html5调用*敏*感*词*并拍照
标签:搜索拍摄图片 stvideohtml5反战无人机相机
禁用Flash后,Flash上传附件的方式已成为过去,现在它开始使用html5上传。这部电影文章介绍如何使用html5拍照,这实际上是一个非常简单的原则:
调用摄像机采集视频流,并使用画布功能生成 base64 图像
其完整的代码如下,需要使用https访问才能没有呼叫*敏*感*词*的安全问题,而IE内核是无法使用的。这可以由父页面作为单独的页面调用
html5拍照
body{overflow-y:auto;overflow-x:auto;margin:0;}
#cameraBtn,#cameraDiv{padding:5px;}
.big-btn-blue{ display:inline-block; min-width:80px; height:30px; margin:0 5px; padding:0 15px; vertical-align:top; line-height:30px; text-align:center; font-size:14px; font-family: "微软雅黑";
color:#fff; border-radius:2px; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; cursor:pointer; }
.big-btn-blue{ -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease;}/**敏*感*词**/
.big-btn-blue{ border:1px solid #3194dd; background-color:#3194dd;}/*纯蓝色*/
//访问用户媒体设备的兼容方法
function getUserMedia(constrains,success,error){
if(navigator.mediaDevices.getUserMedia){
//最新标准API
navigator.mediaDevices.getUserMedia(constrains).then(success).catch(error);
} else if (navigator.webkitGetUserMedia){
//webkit内核浏览器
navigator.webkitGetUserMedia(constrains).then(success).catch(error);
} else if (navigator.mozGetUserMedia){
//Firefox浏览器
navagator.mozGetUserMedia(constrains).then(success).catch(error);
} else if (navigator.getUserMedia){
//旧版API
navigator.getUserMedia(constrains).then(success).catch(error);
}else{
alert("不支持的浏览器");
}
}
//成功的回调函数
function success(stream){
//兼容webkit内核浏览器
var CompatibleURL = window.URL || window.webkitURL;
//将视频流设置为video元素的源
try {
video.srcObject = stream;
} catch (e) {
video.src = CompatibleURL.createObjectURL(stream);
}
//播放视频
video.play();
}
//异常的回调函数
function error(error){
alert("访问用户媒体设备失败,"+error.name+""+error.message);
}
/**
* 获取当前静态页面的参数
* 返回值和使用方法类似java request的getparamater
* 不同: 当取得的为数组(length>1)时调用toString()返回(逗号分隔每个元素)
* @param {Object} name
* @return {TypeName}
*/
function getPara(name,search){
<p>
var p = getParas(name,search);
if(p.length==0){
return null;
}else if(p.length==1){
return p[0];
}else{
return p.toString();
}
}
/**获取当前静态页面的参数
* 返回值和使用方法类似java request的getparamaterValues
* @param {Object} name 要取出的参数名,可以在参数字符串中重复出现
* @param {Object} search 手工指定要解析的参数字符串,默认为当前页面后跟的参数
* @return {TypeName}
*/
function getParas(name,search){
if(!search){
search = window.location.search.substr(1);//1.html?a=1&b=2
}
var para = [];
var pairs = search.split("&");//a=1&b=2&b=2&c=2&b=2
for(var i=0;i