Подтвердить что ты не робот

Обнаружение Javascript FileReader в Safari

Я знаю, что объект FileReader недоступен в Safari 5.0.5. У меня есть script, который использует его и думал, что я просто смогу определить, существует ли объект для запуска некоторого альтернативного кода, как предлагается здесь,

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, я получаю эту ошибку, а script перестает работать.

ReferenceError: не удается найти переменную: FileReader

Так очевидно, что не лучший способ справиться с этим тогда? Любая идея, почему это не работает?

4b9b3361

Ответ 1

Я верю в ваше дело, вы можете уйти с более простой проверкой:

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

проверьте тип, если вы действительно хотите быть гранулированным и придирчивым.

Ответ 2

Вы можете написать if (typeof FileReader !== "undefined")

Вы также можете использовать библиотеку Modernizr, чтобы проверить вас.

Ответ 3

Или вы можете сделать что-то вроде этого.

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