Steuerung der XHR-Zwischenspeicherung beim Streaming

In Internet Explorer 11 haben Sie mehr Einfluss darauf, ob mittels XHR (XMLHttpRequest) heruntergeladene Daten auf den Datenträger geschrieben (zwischengespeichert) werden, bevor sie mithilfe des Attributs msCaching an das Videosteuerelement übergeben werden.

Beim Herunterladen von Videodaten mittels XHR können Sie entscheiden, ob die Daten auf den Datenträger geschrieben (zwischengespeichert) werden sollen oder ob sie nicht auf den Datenträger geschrieben werden sollen, was Energie spart und die Wiedergabelatenz verringert.

Wenn Sie die mittels XHR gestreamten Daten nicht zwischenspeichern, können Sie auf Tablets und Laptops eine höhere Akkulaufzeit erreichen und Datenträgerengpässe vermeiden.

Für Streamantworten können Sie automatische oder manuelle msCaching-Werte angeben. Mit msCaching können Sie den Cachezustand festlegen und mit der msCachingEnabled()-Methode den aktuellen Zustand abrufen.


xhr.msCaching = ['auto'|'enabled'|'disabled']   // sets caching state (default is disabled)
var cachingState = xhr.msCachingEnabled();  // reads current caching state (true|false)

Das msCaching-Attribut verfügt über folgende Zustände für unterschiedliche Arten von Antworttypen:

StatusAntworttypmsCachingEnabled()
autostream|ms-streamfalse
enabledstream|ms-streamtrue
auto|enabledarraybuffer|blob|document|json|texttrue
disabledbeliebiger Typfalse

 

Mithilfe des msCaching-Attributs können Sie abrufen oder festlegen, ob IE11 eine Zwischenspeicherung auf dem Datenträger vornimmt (true) oder nicht (false).

Gibt msCachingEnabled() den Wert "false" zurück, werden XHR-Streams nicht auf dem Datenträger zwischengespeichert. Gibt msCachingEnabled() den Wert "true" zurück, entspricht die Funktionsweise von XHR der Funktionsweise in Internet Explorer 10. Bei aktivierter Zwischenspeicherung respektiert IE11 sämtliche Steuerungsmechanismen für die Zwischenspeicherung (beispielsweise Cache-Control-Header). Das bedeutet, dass sich mit dem XHR-Attribut msCaching keine Zwischenspeicherung erzwingen lässt, wenn diese nicht auch anderweitig erfolgen würde.

Standardmäßig überspringt IE11 automatisch die Zwischenspeicherung auf dem Datenträger, wenn Sie einen Streamantworttyp auswählen. Dies gilt auch, wenn das msCaching-Attribut nicht festgelegt ist. Dieser Codeausschnitt zeigt den Standardzustand (msCaching ist deaktiviert).


        var xhr = new XMLHttpRequest();
        xhr.open('GET', url, true);
        xhr.responseType = 'stream';  
        xhr.send();


In diesem Beispiel wird die Zwischenspeicherung aktiviert, womit die gleiche Funktionsweise erreicht wird wie in Internet Explorer 10.


        var xhr = new XMLHttpRequest();
        xhr.open('GET', url, true);
        xhr.msCaching = 'enabled';  
        xhr.responseType = 'stream';  
        xhr.send();


Hinweis  msCaching kann nur festgelegt werden, wenn sich XHR im Zustand OPENED befindet. Wenn Sie gegen diese Regel verstoßen, wird eine InvalidStateError-Ausnahme ausgelöst.

Verwandte Themen

XMLHttpRequest
msCaching
msCachingEnabled

 

 

Anzeigen:
© 2014 Microsoft