Uwaga dla wszystkich fanów BlobBuilder: ta gra zniknie.
BlobBuilder
to przydatne API do tworzenia blobów (plików) w JavaScript. Jest ona dostępna od Chrome 8, FF 6 i IE 10, ale nigdy nie była dostępna w Safari i prawdopodobnie nigdy nie będzie. Ostatnie zmiany specyfikacji interfejsu File API obejmują nowy konstruktor dla Blob
, który w podstawie czyni BlobBuilder
nieistotnym. W fakcie, w wersji nocnej Safari jest on już wyłączony, a Chrome wkrótce zacznie wyświetlać ostrzeżenia w konsoli.
Poniżej zamieszczamy ten sam kod, ale z użyciem przestarzałego konstruktora BlobBuilder
i nowego Blob
. Skrypt tworzy arkusz stylów i dodaje go do 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);
Handy! Teraz zamiast dołączać do BlobBuilder
możemy po prostu utworzyć Blob
z tablicy części danych. Części danych mogą być różnych typów (DOMString
, ArrayBuffer
, Blob
) i mogą występować w dowolnej kolejności. Na przykład:
var blob = new Blob(['1234567890', blob, arrayBuffer]);
Pamiętaj też, że drugi parametr obiektu jest opcjonalny. Więcej informacji o tych zmianach znajdziesz w dokumentacji MDN na temat blobów.