我的问题:
然后用户单击 input type=file
用户必须得到 upload file + camera
对话框。我正在使用此 html 属性 accept
和 capture
。但在一些现代设备上,这不会发生。下面是代码示例和表格,它的工作与否。代码示例在 Mobile Safari
和 Chrome
中进行了测试。
长话短说:
我有 5 个代码示例,只有 input type file
:
1.( jsfiddle
)
<input type="file" accept="image/*" capture>
2. ( jsfiddle
)
<input type="file" accept="image/*" capture="camera">
3.( jsfiddle
)
<input type="file" capture="camera">
4.( jsfiddle
)
<input type="file" capture>
5.( jsfiddle
)
<input type="file" accept="image/*">
测试设备:
- 三星 S3 (Android 4.1.2)
- 三星 S3 (Android 4.3)
- 三星 Galaxy Tab 2 7.0 (Android 4.2.2)
- 三星笔记 (Android 4.1.2)
- iPhone 5 (iOS 7.0.4)
- 连结 4 (Android 4.4)
结果表:
- W(ork) - 表示启用
upload image dialog with camera
- P(artially works) - 表示启用
upload dialog(not image only) with camera
- N(不工作) - 意味着
only camera
启用 - Ch - 表示
Chrome
- MS - 表示
Mobile Safari
#
--------------------------------------------------------------------------------
|devices/example | Ch 1| Ch 2| Ch 3| Ch 4| Ch 5| MS 1| MS 2| MS 3| MS 4| MS 5|
--------------------------------------------------------------------------------
|Samsung S3/4.1 | N | N | P | P | W | W | N | P | P | W |
--------------------------------------------------------------------------------
|Samsung S3/4.3 | N | N | P | P | P | N | N | P | P | P |
--------------------------------------------------------------------------------
|Samsung Galaxy Tab| N | N | P | P | W | W | N | P | P | W |
--------------------------------------------------------------------------------
|Samsung Note | N | N | P | P | W | W | N | P | P | W |
--------------------------------------------------------------------------------
|iPhone 5 | W | W | P | P | W | W | Y | P | P | W |
--------------------------------------------------------------------------------
|Nexus 4 | N | N | P | P | W | - | - | - | - | - |
--------------------------------------------------------------------------------
如您所见,我只能获得 upload file + camera
所有浏览器使用的对话框
<input type="file" accept="image/*">
只有。但是在这种情况下没有 capture
属性,这让我很担心,Android 4.3 也有问题。
我的问题是:
- 表格中的行为是否真实? Android 4.3 行为是一个错误?
- 我可以相信浏览器总是会在没有捕获属性的情况下将相机添加到上传对话框吗? (请添加证明链接以获取答案)
谢谢。
PS 问题很特殊,但在我的网站上,我必须为用户提供访问其图像和相机的权限。此外,我认为我的表格对任何人都有帮助,而且我会寻找答案,如果没有人回答,我会在此处发布我的答案。
原文由 Pinal 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是实际的答案。只需将其发布在这里供下一个用户使用:
从此
2016 年 2 月 17 日编辑: 此行为在设备上仍然有效。