My problem:

然后用户点击input type=file,用户必须得到upload file + camera对话框.我为该html使用的是属性acceptcapture.但在一些现代设备上,这种情况不会发生.下面是代码示例和它的工作与否的表格.代码示例在Mobile SafariChrome中进行了测试.

TL;DR:

我有5个代码示例,其中只有input type file个:

1.(100)

<input type="file" accept="image/*" capture>

2. (100)

<input type="file" accept="image/*" capture="camera">

3. (100)

<input type="file" capture="camera">

4. (100)

<input type="file" capture>

5. (100)

<input type="file" accept="image/*">

测试设备:

  • 三星S3(Android 4.1.2)
  • 三星S3(Android 4.3)
  • 三星Galaxy Tab 2 7.0(Android 4.2.2)
  • 三星Note(Android 4.1.2)
  • iPhone 5(iOS 7.0.4)
  • Nexus 4(Android 4.4)

结果表:

  • W(工作)-意味着启用upload image dialog with camera
  • P(艺术作品)-平均启用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属性,这让我很担心,安卓4.3也有一个问题.

我的问题是:

  1. 表中的行为是否为真?Android 4.3的行为是错误吗?
  2. 我能相信浏览器总是会添加摄像头来上传吗

谢谢

附注.问题是特殊的,但在我的网站上,我必须提供给用户访问其图像和相机.另外,我认为我的桌子对任何人都有帮助,如果没有人回答,我也会寻找答案,并在这里发布我的答案.

推荐答案

这才是真正的答案.只需将其张贴在此处,供下一位用户使用:

实际上,当前的实现似乎并不依赖于

this

EDITED 17 Feb 2016:

Ios相关问答推荐

SwiftUI SF Symbols图像:暗模式图像

如何在本地iOS没有插件的情况下处理平台线程?

无法向委托发送数据

如何为 Firebase Auth 实施 Firebase AppCheck?

如何在 Android 上的 Flutter 应用中录制内部音频?

如何创建装饰视图?

每次我路由到应用程序的主屏幕时,都无法使组合订阅正常工作

在iOS中使用Swift,即时更改应用语言后,立即改变外观会出现问题

如何为 XCTest、SwiftUI 预览等初始化带有 @MainActor 注释的 Swift 类

List touch Tabbar 时 SwiftUI Tabbar 消失

如何将私钥添加到分发证书?

检测 iPhone 应用程序中是否存在摄像头?

Xcode intellisense 彩色框中字母的含义,如 f、T、C、M、P、C、K、# 等

Xcode 项目格式:3.1、3.2、6.3 和 8.0 有什么区别?

如何将 iPhone OSStatus 代码转换为有用的东西?

如何在 OS X 或 iOS(不使用格式塔)中确定运行时的操作系统版本?

以编程方式 Select UITextField 中的所有文本

iOS SDK - 以编程方式生成 PDF 文件

检测应用程序何时进入我的视图背景的最佳方法是什么?

在 NSUserDefaults 中存储值是否有任何限制?