移动端---前端在安卓与ios上遇到的坑
16lz
2021-01-26
最近一直在写移动端项目,遇到不少适配安卓与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是你要压缩的urlimgNew. 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赋值 }
未完待续。。。。。。
更多相关文章
- Android(安卓)电子签名/手写签名 保存到相册详解
- Mac os 进行Android开发笔记(2)
- Android学习笔记:获取相册和摄像机图片在APP显示Demo
- Gallery控件初体验——简单的相册
- 亚马逊 CEO 称 Kindle Fire 是一个终端到终端的设备 – 就像 iPa
- Mac OSX Android源码编译-环境搭建、源码下载、源码编译、导入An
- Android相机、相册获取图片显示并保存到SD卡
- android代码执行adb shell终端命令(linux命令)并返回执行结果
- 如何辨别你的android G1手机是否刷新SPL?