HTML5 Safari iOS 只能访问相机而不是照片库

Posted

技术标签:

【中文标题】HTML5 Safari iOS 只能访问相机而不是照片库【英文标题】:HTML5 Safari iOS access only camera not photo library 【发布时间】:2014-12-18 13:06:02 【问题描述】:

<input type="file" capture="camera" accept="image/*"> 允许移动浏览器拍照。在 android 原生浏览器和 chrome 上,单击输入按钮会立即启动相机。在 ios Safari 上,该按钮会启动一个警报,要求“拍照”或从“照片库”中进行选择。如何立即启动原生相机?

【问题讨论】:

【参考方案1】:

这与谁支持WebRTC 有关。目前没有 Safari 支持,Android 上 Chrome 的部分支持,Android 上 Firefox 的实验性支持。 在 Android 上,默认行为是使用前置摄像头。未来的工作将允许我们从 javascript 中选择相机,但该功能仅在 FireFox 中是实验性的。

【讨论】:

html Media Capture 规范与 WebRTC 关系不大。【参考方案2】:

目前在 iOS 上是不可能的。

iOS6 到 10 不支持 capture 属性,该属性旨在强制用户代理使用相机,而不是“照片库”。

capture 属性是 HTML 媒体捕获的一部分。

PS:您可以通过将 capture="camera" 替换为 capture 来改进您的代码。 2012年the capture attribute was changed from 4 strings to boolean in the HTML Media Capture spec.

【讨论】:

以上是关于HTML5 Safari iOS 只能访问相机而不是照片库的主要内容,如果未能解决你的问题,请参考以下文章

您可以从 Mobile Safari 访问 iPhone 相机吗? [关闭]

Android:访问硬件相机预览帧数据而不绘制它们

在 iOS 中从浏览器访问相机胶卷

用于移动safari的html5网络应用程序,用于从Photos.app上传图像?

HTML5 地理定位在 Safari 上不起作用 - Mac OS/iOS

iOS Web 应用上的 HTML5 音频