لا تنشئ فقاعات بل أنشئها

نتوجّه بالشكر إلى جميع محبّي BlobBuilder، فوداعًا.

تُعد BlobBuilder واجهة برمجة تطبيقات سهلة الاستخدام لإنشاء Blobs (أو الملفات) في 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]);

لاحظ أيضًا أن معلمة الكائن الثانية اختيارية. لمزيد من المعلومات عن هذه التغييرات، يُرجى الاطّلاع على مستندات MDN على Blob.