近期有一需求是拍照上传用户头像并能进行区域性的截取操做。
故使用了
input[type=file]标签进行尝试,PC端无问题,后发现移动端方面:
1.乐视2s手机在UC,360,QQ,EUI浏览器下均能实现调用相机,在微信浏览器下没法调用相机,可是能选择图片文件上传。
为尝试解决,曾在input标签内添加属性capture="camera"——然并卵。
这时候又出现了一个神奇的问题,因为本人使用的是一款叫photoclick的插件(github地址:https://github.com/baijunjie/PhotoClip.js/blob/master/js/PhotoClip.js),此为做者2016年的最新版本,此为demo:
http://120.131.8.110:8080/picture/index.html 此时在乐2手机下使用微信浏览器没法调用相机。
然而在网上寻找的同一款插件,不一样的是这是2014年发布的,也就是说是做者以前发布的版本,实现的demo:
http://120.131.8.110:8080/hanyuanwen/index.html
同一台乐2手机在微信浏览器下竟然又能够调用相机的,后寻找缘由未果,暂觉得是某一个hack,跟微信的版本有关。。
2.华为手机,在微信浏览器下上述两个网址中都没法实现调用相机功能,能够实现上传图片功能,因而,本人又凌乱了。。
3.苹果5S手机,最为吊炸天,不管在任何浏览器下(包括微信浏览器)就能实现调用相机的功能,是否能理解为苹果确实有值得称道的地方?
4.奇酷360手机,状况与乐视2S手机一毛同样,很少阐述。
最后:
屈服于使用微信JS-SDK调用相机接口以适应各种机型。。(进入以前先判断是否为微信浏览器,不是的话直接使用原生input[type=file]标签)