نتوجّه بالشكر إلى جميع محبّي 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.