【发布时间】:2012-05-11 14:13:49
【问题描述】:
我使用 jquery 设计了一个输入上传框,我在某处搜索过,问题是 IE 上的“浏览”按钮不起作用(不可点击)。任何人都可以查看代码并帮助我应该做什么或调整它以使其在 IE 上工作吗?非常感谢。我在下面的 jsfiddle 中包含了 html/css/js 文件。
【问题讨论】:
标签: jquery html file-upload cross-browser
我使用 jquery 设计了一个输入上传框,我在某处搜索过,问题是 IE 上的“浏览”按钮不起作用(不可点击)。任何人都可以查看代码并帮助我应该做什么或调整它以使其在 IE 上工作吗?非常感谢。我在下面的 jsfiddle 中包含了 html/css/js 文件。
【问题讨论】:
标签: jquery html file-upload cross-browser
您添加的“浏览”按钮在 IE 7/8/9、Chrome 或 Firefox 中不起作用。您可能有不同的经历,这强化了我将尝试说明的观点。
最好使用基于 Flash 的文件上传来完全替换默认 UI(我相信 GMail 仍然会这样做),或者只保留默认输入,尽管它可能很丑/不一致。样式文件上传有很多技巧,但没有真正的解决方案(至少我遇到过)。
我发现最接近纯 HTML/CSS 解决方案的方法是在文件输入的“浏览”按钮顶部覆盖一个样式按钮并隐藏其余部分。然后我通过将整个东西放在IFRAME 中来模仿异步功能。这个解决方案确实/仍然有效,但我浪费了几个小时在视觉上对其进行调整,添加了一堆额外的代码来将IFRAME 挂钩到包含页面,并增加了整体解决方案的复杂性。任何浏览器的下一次更新都可能会破坏它。
HTML 5 确实为文件上传过程提供了更大的灵活性 (see here),但此类解决方案尚未得到普遍支持,也不一定能解决审美问题。
Drag and drop capabilities 可能对您有用,因为您可以完全隐藏文件输入。您也许可以在较新的浏览器中使用这样的解决方案,并在不支持它的旧浏览器上降级为标准文件输入。
Another example 具有渐进增强功能。
【讨论】: