BlobBuilder ファンの皆様、BlobBuilder は廃止されます。
BlobBuilder
は、JavaScript で Blob(または File)を作成するのに便利な API です。この機能は Chrome 8、FF 6、IE 10 以降に存在していますが、Safari ではリリースされておらず、今後もリリースされる可能性は低いです。File API の最近の仕様変更には、Blob
の新しいコンストラクタが含まれています。これにより、BlobBuilder
は実質的に無関係になります。実際、Safari ナイトリー版ではすでに無効になっており、Chrome でもまもなくコンソールに警告が表示されるようになります。
比較のために、非推奨の BlobBuilder
コンストラクタと新しい Blob
コンストラクタを使用する同じコードを以下に示します。このスニペットは、スタイルシートを作成して DOM に追加します。
BlobBuilder()
:
window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder ||
window.MozBlobBuilder || window.MSBlobBuilder;
window.URL = window.URL || window.webkitURL;
var bb = new BlobBuilder();
bb.append('body { color: red; }');
var blob = bb.getBlob('text/css');
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);
document.body.appendChild(link);
Blob()
:
window.URL = window.URL || window.webkitURL;
var blob = new Blob(['body { color: red; }'], {type: 'text/css'});
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);
document.body.appendChild(link);
便利ですね。これで、BlobBuilder
に追加する代わりに、データ部分の配列から Blob
を簡単に作成できます。データ部分は異なる型(DOMString
、ArrayBuffer
、Blob
)にすることができ、順序は任意です。次に例を示します。
var blob = new Blob(['1234567890', blob, arrayBuffer]);
また、2 番目のオブジェクト パラメータは省略可能です。これらの変更について詳しくは、Blob に関する MDN のドキュメントをご覧ください。