if (FileReader) выдает ошибку в Safari. Но это работает "if (window.FileReader)"

аюсь загрузить файлы, используя функции HTML5. Согласно расследованию я обнаружил, что есть 3 различных способа загрузки файлов,

Кодируя файл как multipart: это делается, когда есть поддержка только для чтения файлов.Отправка двоичных данных с использованием метода спецификации XMLHTTP2 (AJAX): Новый методотправить (Blob / File) способен отправлять двоичные данные по проводамОбъект FormData: ИспользованиеОтправка XMLHTTP (AJAX) (FormData) метод.

Теперь для кросс-браузерных проблем и определения функций фрагмент, как показано ниже, прост,

if(typeof FileReader == "undefined")

Однако я не уверен, как узнать, поддерживает ли метод send () AJAX в текущем браузереsend(FormData) или жеsend(Blob/File) Реализация метода. Как это найти? Есть ли здесь уловка Object.property? Или что-то другое?

Спасибо,