【发布时间】:2012-10-09 18:13:33
【问题描述】:
如何在 iOS 6 上以编程方式为 DOM 中的输入元素触发选择文件对话框? (即使用 Javascript)
<input type="file" id="foo">
注意事项:
- Mobile Safari 和 Safari 的行为似乎不同。我已经在 Safari 中使用
document.querySelector("input[type=file]").click()让它工作了。 - 如果它在本机点击处理程序中,即由用户启动,它似乎可以工作,但我想按意愿触发对话框。
【问题讨论】:
-
你试过 focus() 吗?
-
document.querySelector('#foo').click();怎么样? -
我不相信你可以。只是因为它是文件的安全风险。我过去曾对此进行过研究,但实际上不鼓励开发人员对此进行控制。另一方面,有几种方法可以将文件元素“隐藏”在另一个元素之上,这样看起来就像用户单击了另一个元素,但实际上是在单击文件元素 - 有效地触发了对话框。
-
This 的答案似乎指向“否”,尽管并非特定于 Mobile Safari。
标签: javascript ios safari mobile-safari ios6