Tüm BlobBuilder meraklılarına duyuruyoruz. Hoşça kalın.
BlobBuilder
, JavaScript'te Blob (veya Dosyalar) oluşturmak için kullanışlı bir API'dir. Chrome 8, FF 6 ve IE 10'dan beri kullanılıyor ancak Safari'de hiç gönderilmedi ve muhtemelen hiçbir zaman gönderilmeyecek. File API'de yapılan son spesifikasyon değişiklikleri, Blob
için yeni bir oluşturucu içerir. Bu da BlobBuilder
ürününü alakasız hale getirir. Hatta Safari geceleri bu özelliği zaten devre dışı bıraktı ve Chrome çok yakında konsolda sizi uyarmaya başlayacak.
Karşılaştırma amacıyla, aşağıda kullanımdan kaldırılan BlobBuilder
ve yeni Blob
oluşturucusunu kullanan aynı kod gösterilmektedir. Snippet bir stil sayfası oluşturur ve bunu DOM'ye ekler.
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);
Kullanışlı! Dolayısıyla, artık bir BlobBuilder
eklemek yerine, Blob
öğesini bir veri bölümü dizisinden oluşturabiliriz. Veri bölümleri farklı türlerde (DOMString
, ArrayBuffer
, Blob
) ve herhangi bir sırada olabilir. Örneğin:
var blob = new Blob(['1234567890', blob, arrayBuffer]);
Ayrıca, ikinci nesne parametresinin isteğe bağlı olduğunu unutmayın. Bu değişiklikler hakkında daha fazla bilgi için Blob'daki MDN dokümanlarına göz atın.