در اینجا یک سر به همه شما طرفداران BlobBuilder است، خداحافظی می کند!
BlobBuilder
یک API مفید برای ایجاد Blobs (یا فایل ها) در جاوا اسکریپت است. از Chrome 8، FF 6 و IE 10 وجود داشته است، اما هرگز در Safari ارسال نشده است و احتمالاً هرگز نخواهد شد. تغییرات مشخصات اخیر در File API شامل یک سازنده جدید برای Blob
است که اساسا BlobBuilder
نامربوط می کند. در واقع، شبهای سافاری قبلاً آن را غیرفعال کردهاند و کروم خیلی زود در کنسول به شما هشدار میدهد.
برای مقایسه، در زیر همان کد با استفاده از 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 مراجعه کنید.