Safari中的Javascript FileReader检测

bar*_*rry 12 javascript safari filereader referenceerror

我知道FileReader对象在Safari 5.0.5中不可用.我有一个使用它的脚本,并认为我只能检测对象是否存在以运行一些备用代码,如此处所示,

http://www.quirksmode.org/js/support.html

所以我的代码是,

if( FileReader )
{
    //do this

}else{

    //the browser doesn't support the FileReader Object, so do this
}
Run Code Online (Sandbox Code Playgroud)

问题是,我在Safari中测试过,一旦它命中if语句,我就会收到此错误并且脚本停止运行.

ReferenceError:找不到变量:FileReader

那显然那不是处理它的最好方法吗?知道为什么这不起作用吗?

Ass*_*sky 29

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

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

检查类型,如果你真的想要细粒度和挑剔.


SLa*_*aks 7

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

您也可以使用Modernizr库来检查您.