我们有一个主要由iPad在现场使用的网站(不是适用于iPad的应用程序),显然刚刚出现的更新导致输入问题.我们有一个HTML输入,用于允许他们从保存的图片中进行选择:
<input class="fileInput" type="file" name="file" accept="image/*" capture>
Run Code Online (Sandbox Code Playgroud)
现在它只打开相机而无法选择使用卷筒.这是别人见过的东西吗?有解决方法吗?
谢谢,詹姆斯
sha*_*ncs 10
它只打开相机,因为你使用布尔属性capture.根据HTML Media Capture规范:
该
capture...如果指定,指示的使用媒体捕获机制,直接从设备的环境中的媒体捕捉优先.指定capture属性后,用户代理应调用特定捕获控件类型的文件选取器.在本说明书中,术语捕获控制类型是指专用类型的文件选择器控件,其为用户优化,用于使用媒体捕获机制直接捕获由accept属性指定的MIME类型的媒体.
术语媒体捕获机制是指设备的本地媒体捕获设备,例如相机或麦克风.
对于你的情况下,最好使用<input>无capture,根据HTML规范,似乎提供选项是一种常见的浏览器行为:
用户代理可以使用此属性的值(接受)来显示比通用文件选择器更合适的用户界面.例如,给定值image/*,用户代理可以向用户提供使用本地相机或从他们的照片集合中选择照片的选项;
3年前有一个关于这个"文件输入控件"行为的讨论:带有捕获和接受属性的HTML文件输入控件是否有效?您可以看到"当捕获属性存在时显示选项对话框"会让人感到困惑.
在我看来,10.3.1中的iOS更改是文件输入控件的修复.否则,有或没有capture属性没有区别.