Ответ 1
Я просто пишу это в качестве ответа, все соответствующие факты были в комментариях уже (таким образом, сообщество wiki).
Вы вызываете .slice()
в объекте Uint8Array
, а не на ArrayBuffer
, а .slice()
не поддерживается на типизированных массивах в Safari и Internet Explorer.
Вместо этого вы можете использовать bufferView.buffer.slice()
или этот вспомогательный метод, написанный Patch:
if(!Uint8Array.prototype.slice)
{
Uint8Array.prototype.slice = function(a,b){
var Uint8ArraySlice = new Uint8Array(this.buffer.slice(a,b));
return Uint8ArraySlice;
}
}