After accessing Image.complete, Image.onload does not fire.
JavaScript code that works under IE-9 and Chrome-16, but not under Firefox-9.0.1:
var slides = []; slides[0] = new Image(); slides[0].src = fileNames[0];
var tmp = slides[0].complete;
slides[0].onerror = function(){ alert("While downloading\n"+ " " +fileNames[0]+ "\nerror occurred. Execution stops"); throw new Error("Network problem"); }; alert("X " + tmp); alert("Y "); slides[0].onload = function(){ alert(this.complete); if (winStarted) winStart() else window.onload = winStart; };
The alerts "X" and "Y" give output, but the onload branch is not taken. Onload branch is taken under IE-9 and Chrome 16.0.912.63.
Променено на
Всички отговори (3)
Could you create a working testcase on http://jsfiddle.net/ (save and post the link here), please.
http://jsfiddle.net/paulwormer/wXN9p/
This fiddle alerts: FF-9 "Complete branch; Chrome-16 "Complete branch" + "Onload branch" ; IE-9 "Onload branch".
There seems to be an onload for XUL images, but I can not find it for html images.
https://developer.mozilla.org/en/DOM/HTMLImageElement
https://developer.mozilla.org/en/DOM/element
https://developer.mozilla.org/en/XUL/image
Maybe you can use element.addEventListener instead. Something like:
s.myonload = function ....
s.addEventListener("load",s.myonload,false);
s.src = ...
https://developer.mozilla.org/en/DOM/element.addEventListener