Hallo,
Okay, das mit dem opener hatte ich vergessen. Dennoch hätte ich noch gerne für meinen merkwürdigen Effekt eine Erklärung. Was läuft da im Hintergrund ab?
Das ist kein merkwürdiger Effekt, sondern das ganz normale Verhalten von HTTP ;-)).
newWin=window.open('solutionwindow.html','Antwort','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+fensterbreite+',height='+fensterhoehe+',screenX='+xposition+',screenY='+yposition+'');
öffnet ein neues Fenster und übergibt ein Window-Objekt, welches dieses neue Fenster representiert, in der Variablen newWin.
ndoc = newWin.document;
übergibt in die Variable ndoc das document-Objekt des neuen Fensters. Das ist zu diesem Zeitpunkt ein leeres Dokument. Dort hinein schreibt Dein javaScript-Code nun den newContent.
Wann und ob vom neuen Fenster aus via HTTP GET die Ressource /solutionwindow.html vom Host angefordert wird, weiß Dein JavaScript nicht. Die Anforderung passiert aber, weil Du es im window.open ja so gefordert hast.
Wenn der Response für die Anforderung eingetroffen ist, wird der Dokumentinhalt mit dem Inhalt des Response überschrieben.
Die angebotenen Lösungen sorgen dafür, dass _erst_ der Response abgewartet wird und erst _dann_ (onload), vom neuen Fenster aus, das Schreiben von newContent angestoßen wird.
viele Grüße
Axel