อย่าสร้างก้อนหิน แต่จงสร้าง

แฟนๆ ของ BlobBuilder โปรดทราบว่าแอปนี้กำลังจะหยุดให้บริการ

BlobBuilder เป็น API ที่มีประโยชน์ในการสร้าง Blob (หรือไฟล์) ใน JavaScript ฟีเจอร์นี้ใช้งานได้ใน 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 เป็นพารามิเตอร์ที่ไม่บังคับ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงเหล่านี้ได้ที่เอกสาร MDN เกี่ยวกับ Blob