2016年6月29日补充:
最近做了一些与表单相关的项目,使用了h5的input
控件,在使用过程中遇到了很多的坑。也包括与这篇文章相关的。
首先我们应该知道使用h5新提供的属性getUserMedia
这个属性,是可以调取系统的摄像头进行拍照或者是摄像的,但是兼容性支持的不好,所以当我们需要获取系统的多媒体权限时我们都不会采用这个属性。
使用<input type="file">
标签我们可以间接的呼起系统选择文件的窗口,来读取系统文件。但是在WebView中,因为安卓权限的问题,我们是没办法直接获取读取文件这个操作的。而在原生的浏览器中是不存在这个问题的。所以选择使用这个input
的时候一定要注意自己的页面是主要运行在webview中还是浏览器中。如果注意运行在客户端的webvie中,是需要客户端的同学支持的。
在IOS的某些系统版本中也会出现这个问题。具体的可以参考下面的参考文章。
参考文章:
http://blog.csdn.net/hvkcoder/article/details/51365191
https://forums.developer.apple.com/thread/22726
http://www.cnblogs.com/soaringEveryday/p/4495221.html
http://stackoverflow.com/questions/25942676/ios-8-sdk-modal-uiwebview-and-camera-image-picker
引子:
最近公司项目有个需求,微博客户端中, h5 的页面上的某个按钮能够与native
交互呼起摄像头,扫描二维码并且解析。在非微博客户端中(微信或者是原生浏览器,如: