最近一直在写移动端项目,遇到不少适配安卓与ios及其他的问题,现在进行一个回顾

先是要如何判断安卓与ios

var u = navigator. userAgent; var isAndroid = u. indexOf( 'Android') > - 1 || u. indexOf( 'Adr') > - 1; //android终端 var isiOS = !! u. match( /\(i[^ ;]+ ;( U;)? CPU.+ Mac OS X/); //ios终端 if ( isAndroid ) {} else if ( isiOS ) {}

1、使用input  file调取摄像头与相册

< input type= "file" class= "input" id= "inputCamera" capture= "camera" >

①安卓调取相机

var a = document. getElementById( 'inputCamera') a. setAttribute( "accept", "image/*");

②安卓调取相册

var a = document. getElementById( 'inputPhoto') a. setAttribute( "capture", "camera");

③ios调取相机

var a = document. getElementById( 'inputCamera') a. setAttribute( "capture", "camera");

④ios调取相册

var a = document. getElementById( 'inputPhoto') a. setAttribute( "accept", "image/*");

2、input:同一张图片上传的时候,不走change事件(没有办法上传同一张照片)

解决办法:

给input父级的form class重置:

$( '._uploadimg_form2')[ 0]. reset()

3、对图片进行压缩:

var canvas = document. createElement( 'CANVAS'); var ctx = canvas. getContext( '2d'); var img = document. getElementById( 'imgPic'); //需要显示的img var imgNew = new Image(); imgNew.src = this.result; //该图片url是你要压缩的url
imgNew. onload = function() { var imgWidth = imgNew. width; var imgHeight = imgNew. height; var rate = 0.5 canvas. width = imgWidth * rate; canvas. height = imgHeight * rate; console. log( rate, canvas. width, canvas. height) ctx. drawImage( imgNew, 0, 0, imgWidth * rate, imgHeight * rate); var dataURL = canvas. toDataURL( 'image/png'); img. src = dataURL //给img赋值 }

未完待续。。。。。。







更多相关文章

  1. Android(安卓)电子签名/手写签名 保存到相册详解
  2. Mac os 进行Android开发笔记(2)
  3. Android学习笔记:获取相册和摄像机图片在APP显示Demo
  4. Gallery控件初体验——简单的相册
  5. 亚马逊 CEO 称 Kindle Fire 是一个终端到终端的设备 – 就像 iPa
  6. Mac OSX Android源码编译-环境搭建、源码下载、源码编译、导入An
  7. Android相机、相册获取图片显示并保存到SD卡
  8. android代码执行adb shell终端命令(linux命令)并返回执行结果
  9. 如何辨别你的android G1手机是否刷新SPL?

随机推荐

  1. Android(安卓)高亮指示层提示
  2. Android(安卓)反射获取私有方法,成员变量
  3. Android(安卓)图表--MPAndroidChart
  4. android 服务与多线程
  5. Service
  6. Android之Http请求基础
  7. android camera preview方向
  8. Android创建文件夹及文件并写入数据
  9. Android(安卓)杀掉自己进程的方法
  10. android按键 禁用