Cheatah: Neues Fenster öffnen und dann drucken?!

Beitrag lesen

Hi,

printwindow = eval('window.open("","zweitfenster","width='+scrwidth+',height='+screen.height+',screenX=0,screenY=0");');

hier weist Du der Variable printwindow die Rückgabe der eval()-Methode zu, also vermutlich 'true'. Nebenbei sehe ich weder in diesem, noch in dem vorherigen eval() einen Sinn; die einfache Zuweisung der Objektreferenz hätte nicht nur absolut gereicht, sondern würde auch potentielle Risiken reduzieren.

printwindow.document.write(location.href = aktuell);

Warum schreibst Du in das Dokument die Rückgabe einer Objekteigenschafts-Zuweisung?
printwindow.location.href = aktuell;

printwindow.print();

printwindow.focus(); // vorsichtshalber, denn window.print() bezieht sich auf das aktuelle Fenster, nicht auf das referenzierte
if (window.print) { printwindow.print(); } // sei nie(!) sicher, ob eine Methode bekannt ist!

Statt printwindow.print() ginge auch window.print(), aber bei einigen Browsern weiß man nie - und wer weiß, wo Du dieses Script wiederverwendest :-)

Von der print()-Geschichte mal abgesehen, solltest Du Dich noch ein wenig mit den Grundlagen von JavaScript beschäftigen. Deine eval()erei ist nicht nur unnötig und potentiell riskant (manchmal kannst Du _nicht_ vorher absehen, was da jetzt ausgeführt wird), sondern in einigen Fällen auch schlicht falsch. Benutze die vorhandenen Objekte, Methoden und Eigenschaften; vermeide eval().

Cheatah