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