javascript - Firefox 的 Gmail 类型文件选择器

标签 javascript html internet-explorer firefox webforms

我有一个简单要求:

  • 一个浏览按钮可打开多个文件选择器。
  • 选择文件后,其文件名将添加到订单列表中。

这在 IE 中工作得很好,因为我可以以编程方式单击隐藏的文件输入,但 Firefox 不允许单击事件打开文件选择对话框。

问题:

我有什么选择?我注意到 gmail 使用一 block flash 来实现这一点,这对我来说并不是一个真正的选择,如果可能的话,我需要坚持使用 html/javascript 解决方案。

谢谢。

最佳答案

GMail 使用 Flash 是有原因的:它是最好最不差的选择。我见过的其他一些网站使用 Java 小程序或它们自己的浏览器插件或 Active-X 组件,我发现它们比 Flash 对用户的干扰更大。

如果可以使用 HTML/javascript,您就不会看到这么多网站(如 GMail)不遗余力地使用 flash 或 Java。

如果您坚持使用 HTML/Javasctipt,您可以做的下一个最好的事情就是 GMail 过去的做法:在文件选择输入字段下方放置一个“附加另一个文件”链接,当用户单击它时,另一个文件选择输入字段会使用 JavaScript 添加到页面中,这样他们就可以添加无限数量的文件,而无需离开页面,但他们仍然必须一次选择一个文件。

关于javascript - Firefox 的 Gmail 类型文件选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1227431/

相关文章:

javascript - 从数组中求和对象属性

javascript - 函数完成时 Nodejs 回调下一个循环

javascript - 如何在 AngularJS 中使用三个输入来 POST 表单

c# - 如何使用C#(.Net 3.5)将JavaScript代码发送到IE,运行它,然后从JS代码中获取字符串返回值?

javascript - 同时运行多个 javascript 对象方法

jquery - 创建调色板

jquery - slideDown 下拉菜单

javascript - JQuery 不在 IE 和 Firefox 中调整图像 src,仅在 chrome 中

javascript - 为什么 event.stopImmediatePropagation() 在除 IE 之外的所有浏览器中都有效?

javascript - Angular 中关于 IE 问题的占位符