نودّ تنبيهك إلى كل مشجّعي BlobBuilder، وإلى اللقاء.
BlobBuilder
هي واجهة برمجة تطبيقات مفيدة لإنشاء كائنات Blob (أو الملفات) في 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.