Safari中的Javascript文件读取器检测

Safari中的Javascript文件读取器检测,javascript,safari,filereader,referenceerror,Javascript,Safari,Filereader,Referenceerror,我知道Safari 5.0.5中没有FileReader对象。我有一个使用它的脚本,我认为我可以检测对象是否存在,以运行一些备用代码,正如这里所建议的 所以我的代码是 if( FileReader ) { //do this }else{ //the browser doesn't support the FileReader Object, so do this } 问题是,我已经在Safari中对它进行了测试,一旦它遇到if语句,我就会得到这个错误,脚本就会停止运行

我知道Safari 5.0.5中没有FileReader对象。我有一个使用它的脚本,我认为我可以检测对象是否存在,以运行一些备用代码,正如这里所建议的

所以我的代码是

if( FileReader )
{
    //do this

}else{

    //the browser doesn't support the FileReader Object, so do this
}
问题是,我已经在Safari中对它进行了测试,一旦它遇到if语句,我就会得到这个错误,脚本就会停止运行

ReferenceError:找不到变量:FileReader

那么显然这不是最好的解决方法?你知道为什么这样不行吗?

你可以写
if(typeof FileReader!=“undefined”)


您也可以使用该库为您进行检查。

我相信在您的情况下,您可以通过更简单的检查:

if(window.FileReader) {
   //do this
} else {
   //the browser doesn't support the FileReader Object, so do this
}

如果你真的想变得精细和挑剔,请检查类型。

或者你可以这样做

if('FileReader' in window) {
    // FileReader support is available
} else {
    // No support available
}

Safari 5.1.5是否支持文件阅读器?我在5.1.5中也有错误。没有。在5.2中可能:同意。您必须请求window.FileReader,否则将发生未捕获的引用错误(在Android 2.3上观察到)