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

نريد إبلاغ جميع معجبي BlobBuilder بأنّنا سنوقف هذا الإجراء نهائيًا.

BlobBuilder هي واجهة برمجة تطبيقات مفيدة لإنشاء ملفات Blob (أو ملفات) في JavaScript. وقد كان متاحًا منذ الإصدار 8 من Chrome والإصدار 6 من Firefox والإصدار 10 من Internet Explorer، ولكن لم يتم طرحه مطلقًا في 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.