สวัสดีแฟนๆ BlobBuilder ทุกคน แล้วพบกันใหม่
BlobBuilder
เป็น API ที่มีประโยชน์สำหรับการสร้าง BLOB (หรือไฟล์) ใน JavaScript เปิดตัวมาตั้งแต่ Chrome 8, FF 6 และ IE 10 แต่ไม่เคยจัดส่งใน Safari และน่าจะไม่มีการจัดส่ง การเปลี่ยนแปลงข้อกำหนดล่าสุดใน File API ประกอบด้วยตัวสร้างใหม่สำหรับ Blob
ซึ่งทำให้ BlobBuilder
ไม่เกี่ยวข้อง ที่จริงแล้ว Safari Nightlies ปิดใช้งานอยู่แล้วและ 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);
มีประโยชน์ ดังนั้น เราจึงสร้าง Blob
จากอาร์เรย์ของส่วนต่างๆ ของข้อมูลได้เลย แทนที่จะต้องต่อท้าย BlobBuilder
ส่วนของข้อมูลอาจเป็นประเภทต่างๆ (DOMString
, ArrayBuffer
, Blob
) และเรียงลำดับอย่างไรก็ได้ เช่น
var blob = new Blob(['1234567890', blob, arrayBuffer]);
และโปรดทราบว่าพารามิเตอร์ออบเจ็กต์ที่ 2 เป็นพารามิเตอร์ที่ไม่บังคับ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงเหล่านี้ได้ที่เอกสาร MDN ใน Blob