Safari中的Javascript FileReader检测

Javascript FileReader detection in Safari

本文关键字:检测 FileReader Javascript 中的 Safari      更新时间:2023-09-26

我知道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
}

问题是,我在Safari中测试过它,一旦它达到if语句,我就会收到这个错误,脚本就会停止运行。

ReferenceError:找不到变量:FileReader

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

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

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

如果你真的想变得细致和挑剔,那就检查一下类型。

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

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

或者你可以做这样的事情。

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