نريد إبلاغ جميع معجبي 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.