Hi,
function start_procedure(direction, op_value, picpath, timefos)
{
var new_image2 = new Image();
new_image2.src = picpath;if (new_image2.complete == false)
Du irrst in der Annahme, dass JavaScript hier „warten“ würde.
Du erstellst ein neues Bild-Objekt, dass löst einen Request im Hintergrund aus, dass restliche Script wird sofort weiter ausgeführt.
Ich schicke JS ja in eine Endlosschleife, bis das Bild geladen war, von daher wurde mit der weiteren Codeausführung schon "gewartet" - das war auch am Ergebnis klar ersichtlich.
Wie kann man den Code ändern, dass der IE9 ihn frisst?
Danke für den Link. Ich habe den If-Zweig jetzt wie folgt angepasst:
new_image2.onload = function () {
setTimeout("changepic_procedure('"+direction+"', '"+op_value+"', '"+picpath+"')", timefos);
};
Das funktioniert in IE9, FF4, Opera und Safari ganz gut. Leider habe ich gerade keine älteren Browser mehr zum testen da. Weißt du ob das auch die alten (also hauptsächlich IE6-8 und FF2+3) vertragen?
Gruß
Gabriel