В chrome сообщается, что с помощью кода, подобного следующему, можно осуществлять двоичную связь с сервером (вместо традиционной связи base64).
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.responseType = 'arraybuffer';
xhr.onload = ...
var data = new ArrayBuffer(byteArray.length);
var ui8a = new Uint8Array(data);
for (i=0; i<byteArray.length; i++) {
ui8a[i] = byteArray[i] & 0xff;
}
var bb = new BlobBuilder();
bb.append(data);
xhr.send(bb.getBlob());
Если предположить, что Chrome и Safari охватывают HTML5 аналогичным образом, есть ли способ сделать это в Safari и iOS Safari?