我正在编写一个应该支持文件的HTML5拖放API的应用程序,就像这里描述的那样.我想对浏览器是否支持这种疯狂进行编程检查:)现在有效的解决方案是检查浏览器是否提供了FileReader类,如下所示:
if (typeof(FileReader) == "undefined") {
$("#dropbox").hide();
} else {
// connect events
$("#filebox").hide();
}
Run Code Online (Sandbox Code Playgroud)
但它显然不是正确的(我根本不使用那个类).
有任何想法吗?
我正在实现jQuery文件上传,并试图找出检测客户端是否可以支持拖放的最佳方法,这样我就可以渲染类似"拖放文件到这里上传"的内容,只有他们能够实际执行此操作.
在插件代码中,我可以看到一个isXHRUploadCapable几乎与拖放支持相关的函数,但我认为这比任何事情更巧合.(它使用iFrames发布上传而不是XMLHTTPRequest上传IE和Opera).如果支持拖放,看不到任何让我知道的东西,所以我怀疑它只是一个事件发生或不发生.
文档说"Windows版本的Safari不支持拖放.MSIE和Opera不支持拖放,多文件选择或上传进度指示." 那么,也许只是Windows版本的Safari支持XMLHTTPRequest上传,但不能拖放?
无论如何 - 我试图找出最好的方法来检测浏览器是否支持使用此插件拖放上传,我不知道如何做到这一点.拖放功能是否可以轻松测试?我该怎么办?这个功能是依赖于浏览器,还是Jquery Upload是否特别支持该浏览器?