Проверка ArrayBuffer
должна быть хорошим обнаружением функции.
Если userAgent поддерживает объект ArrayBuffer
, то, скорее всего, он будет работать с XHR2
Однако, как уже отмечалось, было бы лучше провести тестирование функции, а не обнаружение функции.
function IsArrayBufferSupported(cb){
var xhr = new XMLHttpRequest();
xhr.open('GET', '/', true);
try {
xhr.responseType = "arraybuffer";
} catch (e){
return cb(false);
}
xhr.onload = function onload() {
if (ArrayBuffer.prototype.isPrototypeOf(this.response)) {
return cb(true);
}
cb(false);
}
xhr.send();
}