2012-04-03 8 views
1

Ich entwickle dieses JavaScript-Spiel, das das Laden von Assets verwaltet, bevor irgendetwas passiert. Zunächst lädt die Preloader-Klasse eine Asset-JSON-Datei, die alle aufgelisteten Assets zum Laden enthält. Diese Datei enthält Links zu ca. 30 Bilder, 8 JSON-Dateien und 5 Videos. Jedes einzelne Asset außer den Videodateien kann in jedem gängigen Browser geladen werden (Firefox, Safari, Explorer, Chrome), aber das Laden dieser 5 Videodateien wird vom Internet Explorer abgebrochen.Video's Abbrechen Laden auf Internet Explorer

Ich verwende HTML-Muster, vielleicht hat das etwas damit zu tun.

Das ist, was ich bekomme, in Netzwerkansicht: Network tab view in internet explorer Link to full size image file

Manchmal ist die ersten beiden Videos Last, manchmal keiner von ihnen tun. Hier ist ein Stück von meinem Code der Videos zu laden:

case "ogv": 
case "mp4": 
    item = document.createElement('video'); 
    var itemSource = document.createElement('source'); 
    item.id = 'vid'; item.width = '600'; item.height = '450'; item.controls = false; 
    if (extension == "mp4") { 
     itemSource.id = 'mp4'; itemSource.type = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"'; 
    } else if (extension == "ogv") { 
     itemSource.id = 'ogv'; itemSource.type = 'video/ogg; codecs="theora, vorbis"'; 
    } 
    itemSource.src = pathToAsset; 
    item.appendChild(itemSource); 
    item.addEventListener("canplaythrough", onVideoCanPlaythrough, false); 
    item.load(); 
    break; 

Und hier ist der Hörer-Handler:

var onVideoCanPlaythrough = function() { 
    console.log("onVideoCanPlaythrough"); 
    item.removeEventListener("canplaythrough", onVideoCanPlaythrough, false); 
    assets[assetID] = item; 
    callback.call(); 
} 

Die console.log("onVideoPlaythrough) nicht ein einziges Mal im Internet Explorer nicht ausgelöst.

Ich habe, um sicherzustellen, überprüft, dass jeder andere, was richtig ist (ich recht URLs in meinen pathToAsset Variable erhalten und so weiter. Dies funktioniert auf jedem anderen Browser(außer Oper, die ich nicht wirklich getestet habe noch), aber nicht auf IE

Kann jemand empfehlen, wie das Debuggen für diese Art von Problem zu nähern?

Antwort

0

Anscheinend initiieren Sie Laden der Videos mit video.play() Aussage, nicht video.load() im Internet Explorer 9 sind " Es ist einfach großartig!