Neuer Blob-Konstruktor in IE10

IE10 in Windows 8 Release Preview unterstützt nun auch einen Blob-Konstruktor. Wir haben bereits darüber geschrieben und demonstriert, wie IE10 eine in Entwicklung befindliche BlobBuilder-Schnittstelle in der File-API unterstützt: W3C-Entwurf Writer. Entwickler können mithilfe dieser Schnittstelle mit Dateien auf dem Client-PC arbeiten. Vor kurzem hat die W3C-Arbeitsgruppe die BlobBuilder-Schnittstelle aktualisiert und einen neuen Blob-Konstruktor hinzugefügt. In diesem Beitrag werden die Unterschiede zwischen den beiden Konzepten erläutert.

Vergleich von Blob-Konstruktor und BlobBuilder-Schnittstelle

Webentwickler können sowohl mit dem Blob-Konstruktor als auch mit der BlobBuilder-Schnittstelle Dateien auf dem Client erstellen. Der Unterschied liegt in der Syntax. Während es bei BlobBuilder erforderlich ist, dass jeder Teil des Blobs durch einzelne Aufrufe der append-Methode angefügt wird, kann der Blob-Konstruktor ein Array mit Argumenten entgegen nehmen. Im Folgenden finden Sie ein Beispiel, wie Sie eine einfache Textdatei mithilfe von BlobBuilder und Blob-Konstruktor erstellen:

// using the Blob constructor

var textBlob1 = new Blob(["Hello", " world!"], { type: "text/plain", endings: "transparent" });

 

// using the MSBlobBuilder interface

var bb = new MSBlobBuilder();

bb.append("Hello");

bb.append(" world!");

var textBlob2 = bb.getBlob("text/plain");

Der Blob-Konstruktor besteht aus zwei Argumenten, dem Inhalts-Array, das in den Blob eingeht, und ein optionales Wörterbuch-Objekt, das die beiden Member type und endings enthalten kann. Das Inhalts-Array für den Blob kann Blob-Objekte, Textzeichenfolgen oder Array-Puffer enthalten.

Die neueren Versionen von Firefox und Chrome unterstützen den Blob-Konstruktor. IE10 unterstützt zusätzlich zum neuen Blob-Konstruktor weiterhin die mit einem Präfix versehene MSBlobBuilder-Schnittstelle. Derzeit unterstützen auch Firefox und Chrome die mit dem Herstellerpräfix versehene BlobBuilder-Schnittstelle.

Funktionserkennung des Blob-Konstruktors

Wie bei allen neuen Funktionen empfehlen wir die Funktionserkennung zum Feststellen zu verwenden, ob der Blob-Konstruktor im Browser, in dem Ihr Code ausgeführt wird, zur Verfügung steht. Sie können etwa wie folgt vorgehen:

if (typeof Blob !== "undefined") {

// use the Blob constructor

} elseif (window.MSBlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder) {

// use the supported vendor-prefixed BlobBuilder

} else {

// neither Blob constructor nor BlobBuilder is supported

}

Wenn Sie die BlobBuilder Test Drive-Demo ausführen und dabei das Fenster mit den F12-Entwicklungstools geöffnet ist, wird protokolliert, ob die Blobs über den Blob-Konstruktor oder über BlobBuilder erstellt werden.

Mit dem Blob-Konstruktor in IE10 können Sie standardisierten Code schreiben, der in verschiedenen Browsern ausgeführt wird.

– Sharon Newman, Program Manager, Internet Explorer