HTML 文件输入“接受”属性跨浏览器兼容性

Posted

技术标签:

【中文标题】HTML 文件输入“接受”属性跨浏览器兼容性【英文标题】:HTML file input "accept" attribute cross-browser compatibility 【发布时间】:2014-06-15 12:27:57 【问题描述】:

file input accept attribute 运行良好。但是,有一些浏览器不兼容,尤其是当您只想选择某些文件类型时,即mimetypes。

例如,如果你只想接受 markdown 和 pdf 文件(见下面的代码),webkit 浏览器 允许选择 pdf,但忽略 any markdown mimetype I can find。而 Firefox 会忽略这两种 mimetypes 并允许您选择任何文件类型。

有谁知道如何让 webkit 浏览器接受 markdown 文件?

http://jsfiddle.net/JZ5jz/

<label for='file'>upload</label>

<input id='file' accept='application/pdf, text/x-markdown' multiple='multiple' type='file'>

【问题讨论】:

您尝试更改订单吗? webkit 是否只取第一个接受值? 只是尝试更改顺序,没关系,对于大多数 mimetype,它将采用逗号分隔的列表,例如,application/pdf, application/msword 【参考方案1】:

现在您可以简单地使用 .md 来过滤降价文件

<label for='file'>upload</label>

<input id='file' accept='.md' multiple='multiple' type='file'>

【讨论】:

以上是关于HTML 文件输入“接受”属性跨浏览器兼容性的主要内容,如果未能解决你的问题,请参考以下文章

如何使模板跨浏览器兼容?

什么是最有用的 media="print" 特定的、跨浏览器兼容的 CSS 属性?

跨浏览器 - 移动兼容的自定义滚动条

js事件跨浏览器解决问题的学习与总结

解决输入框placeholder属性不兼容IE9及以下浏览器问题

JS跨浏览器兼容性解决思路及方案汇总