Przybył! xhr.send(SlateBufferViews)

A ty myślałeś, że skończyliśmy ulepszać XHR!

Od jakiegoś czasu przeciążona metoda send() w XHR2 obsługuje wysyłanie ArrayBuffer (surowego tablicowego ciągu bajtów).

W Chrome 22 (obecna wersja Canary) ta funkcja została wycofana i zastąpiona wysyłaniem ArrayBufferView. Typowe tablice JS to tylko specjalne ArrayBufferView, co oznacza, że teraz możesz wysyłać typową tablicę bezpośrednio przez sieć bez dotykania jej podstawowego bufora. Ta zmiana jest zgodna z ostatnimi aktualizacjami specyfikacji XMLHttpRequest2.

Na przykład zamiast wysyłać ArrayBuffer:

var xhr = new XMLHttpRequest();
xhr.open('POST', '/server', true);
xhr.onload = function(e) { ... };

var uInt8Array = new Uint8Array([1, 2, 3]);

xhr.send(uInt8Array.buffer);

Wystarczy wysłać samą tablicę:

xhr.send(uInt8Array);

Ostatecznie wysyłanie ArrayBuffers zostanie usunięte, ale na razie podczas próby wysłania bufora pojawią się ostrzeżenia w konsoli.

Jak zawsze, możesz śledzić tego typu zmiany na stronie chromestatus.com.