XHRまわりのメモ
体調不良
で、会社を午後半休して家で寝たら治った感じなので深夜何かやっているわけですが。
Chrome で sendAsBinary
sendAsBinary はFirefoxが実装しているXmlHttpRequestのバイナリ形式送信だけど、
これをChromeが実装していないので(IE?なにそれ)、Chrome対応させる。
すでに先人達が突っ込んでいっている。
http://code.google.com/p/chromium/issues/detail?id=35705
XMLHttpRequest.prototype.sendAsBinary = function(datastr) { function byteValue(x) { return x.charCodeAt(0) & 0xff; } var ords = Array.prototype.map.call(datastr, byteValue); var ui8a = new Uint8Array(ords); this.send(ui8a.buffer); }
XMLHttpRequest のoverrideで行けるのでchrome判定さえすればいけそう。
overrideMimeType
XHRでsjisとかを取得したい時はこれで。
var xhr = new XMLHttpRequest(); xhr.overrideMimeType("text/plain; charset=shift_jis");