用于firefox的gmail类型filechooser

时间:2009-08-04 13:06:53

标签: javascript html internet-explorer firefox webforms

我有简单要求:

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

这在IE中运行得很好,因为我可以以编程方式单击隐藏文件输入,但是firefox不会让click事件打开文件选择对话框。

问题:

我有哪些选择?我注意到gmail使用了一段闪存来实现这一点,这对我来说真的不是一个选择,如果可能的话我需要坚持使用html / javascript解决方案。

感谢。

3 个答案:

答案 0 :(得分:2)

除了Flash之外,你没有什么可以做的,因为在过去的几年里,文件输入字段已被锁定以确保安全性。如果你愿意,有几个免费提供的Flash上​​传程序可以实现你想要的技巧。

答案 1 :(得分:2)

GMail使用一块Flash是有原因的:它是最佳最差最差选项。我见过的其他一些网站使用Java applet或他们自己的浏览器插件或Active-X组件,我发现用户比Flash更具侵入性。

如果可以使用HTML / javascript,你就不会看到很多网站(比如GMail)不再使用flash或Java。

如果您坚持使用HTML / Javasctipt ,那么您可以做的下一件事就是GMail用来做的事情:在文件选择输入字段下面放置一个“附加另一个文件”链接,当用户点击它时,另一个文件选择输入字段被添加到具有javascript的页面,这样他们可以添加无限数量的文件而无需离开页面,但他们仍然必须一次选择一个。

答案 2 :(得分:2)

不可能根据您的数据(没有Flash的用户),只有HTML和Javascript才能实现这一点。对于是否改进它一直是一个巨大的争论。它甚至不支持过多的CSS样式。

多个文件上传只能通过插件进行。现在是Flash,Java或Silverlight。