兼容安卓和苹果移动端就input调起手机相册和相机

Posted AndreaLi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了兼容安卓和苹果移动端就input调起手机相册和相机相关的知识,希望对你有一定的参考价值。

以下这么写的话,苹果手机可以调起相机和相册功能,但是安卓手机只能调起相册;

<input id="upLicense" onchange="preview(this,0)" type="file" name="upLicense" >

<input id="upLicense" onchange="preview(this,0)" type="file" name="upLicense" accept="image/*" capture="camera">

而这么写的话,可以让安卓手机同时调起相机和相册,但是,苹果手机却只能调起相机:

<input id="upLicense" onchange="preview(this,0)" type="file" name="upLicense" accept="image/*" capture="camera" multiple>

所以,综上结合,可以在一开始的时候这么写:

<input id="upLicense" onchange="preview(this,0)" type="file" name="upLicense" accept="image/*" capture="camera" multiple>

然后在页面js中这么写:

$(function()){

  compatibleInput();

}

// 判断当前是否属于ios移动端,兼容input同时调用手机相册和相机

function compatibleInput(){
  //获取浏览器的userAgent,并转化为小写
  var ua = navigator.userAgent.toLowerCase();
  //判断是否是苹果手机,是则是true
  var isIos = (ua.indexOf(‘iphone‘) != -1) || (ua.indexOf(‘ipad‘) != -1);
  if (isIos) {
    $("input:file").removeAttr("capture");
  };
}









以上是关于兼容安卓和苹果移动端就input调起手机相册和相机的主要内容,如果未能解决你的问题,请参考以下文章

Android-混合开发H5 能直接调起原生的相册和相机吗?

一行代码实现安卓照片选取上传服务器,并适配安卓7.0无法调起相机的问题

Android webview上传图片(调起相册/相机上传)

关于安卓手机在微信浏览器中无法调起相机的原因

uni小程序上传图片,兼容安卓机不会自动弹出相机选项的写法

微信中打开 input file 在安卓设备上没有拍照功能