我知道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
那么显然那不是处理它的最好方法吗?知道为什么这不起作用吗?
答案 0 :(得分:29)
我相信你的情况可以通过更简单的检查来解决:
if(window.FileReader) {
//do this
} else {
//the browser doesn't support the FileReader Object, so do this
}
检查类型,如果你真的想要细粒度和挑剔。
答案 1 :(得分:7)
您可以撰写if (typeof FileReader !== "undefined")
您还可以使用Modernizr库来检查您。
答案 2 :(得分:1)
或者你可以做这样的事情。
if('FileReader' in window) {
// FileReader support is available
} else {
// No support available
}