print-Befehl unter JAVA-Script

francesco

Mitglied
Hallo,

ich habe folgendes Problem.

ich setze dieses script in der print.html ein und es geht 1a.

CODE in der print.html
<script language="JavaScript" type="text/javascript">

function openwindow(){
window.print();
window.focus();
}

</script>



aufgerufen wird es so:


CODE
<script language="JavaScript" type="text/javascript">

function openwindow(){
window.open("print.html","diashow","menubar=no, scrollbars=yes, resizable=no,width=650,height=650,top=20,left=20");
}

</script>

<td width="50%"><a href="javascript: openwindow()">Druckbare-Version</a></td>



Nun zu meinem Problem.

wieder die Printdatei


CODE in der print.php
<script language="JavaScript" type="text/javascript">

function openwindow(){
window.print();
window.focus();
}

</script>




Aufgerufen wird die print.php so:


CODE
<script language="JavaScript" type="text/javascript">

function openwindow(adresse){
window.open(adresse,"diashow","menubar=no, scrollbars=yes, resizable=no, status=1, width=800, height=650, top=20, left=20");
}

</script>

<td width=\"80\"><a href=\"print.php?Ort=NI\" onclick=\"openwindow(this.href); return false\">Print</a></td>



Die Print.php wird ohne Fehler aufgerufen aber es window.print wird nicht ausgeführ.
Das Printfenster von Microsoft geht nicht auf.
INFO: Drucker sind 3 installiert und vorhanden, drucke täglich.

Hat jemand eine Ahnung woran das liegen könnte.

vielen Dank für jede Hilfe.

mfg
Francesco

 
Muss das Zeug alles Escaped sein?
QUOTE <td width=\"80\"><a href=\"print.php?Ort=NI\" onclick=\"openwindow(this.href); return false\">Print</a></td>


 
Wenn ich es auf die Schnelle das Problem richtig verstanden habe:

Rufst du in print.php denn die Funktion zum Drucken überhaupt auf?

Zum Beispiel mit <body onload="openwindow()">

(Warum heißt die Funktion zum Drucken openwindow? Und warum gibt es diese Funktion in verschiedenen Dateien zweimal, aber mit unterschiedlichen Inhalt? Irgendwie verwirrend....)
 
Hallo Moritz Klussmann,

die Funktion ist schon richtig, denn ich öffne ein neues Fenster und beim öffnen rufe ich die Funktion window.print auf.

Richtig ist auch, dass ich 2 Print dateien habe. Das muß so sein, da die eine nur aus HTML besteht und die andere komplett aus einer Datenbank ausgelesen wird und beides unterschiedliche Inhalte haben.

CODE
<script language="JavaScript" type="text/javascript">
function openwindow(adresse){
window.open(adresse,"diashow","menubar=no, scrollbars=yes, resizable=no, status=1, width=800, height=650, top=20, left=20");
}

</script>
.....
<td width=\"80\"><a href=\"print.php?Ort=NI\" onclick=\"openwindow(this.href); return false\">Print</a></td>



Das neue Fenster wird ja geöffnet und 1a angezeigt. Aber in der Print.php wird dieser Teil nicht ausgeführt


CODE
<script language="JavaScript" type="text/javascript">
function openwindow(){
window.print();
window.focus();
}
</script>



Im Grunde ändern sich hier nur 2 Zeilen


CODE
window.open(print.html,"diashow","menubar=no, scrollbars=yes, resizable=no, status=1, width=800, height=650, top=20, left=20");

window.open(adresse,"diashow","menubar=no, scrollbars=yes, resizable=no, status=1, width=800, height=650, top=20, left=20");

<td width="50%"><a href="javascript: openwindow()">Druckbare-Version</a></td>

<td width=\"80\"><a href=\"print.php?Ort=NI\" onclick=\"openwindow(this.href); return false\">Print</a></td>
<!--das könnte ich auch so schreiben :-->
<td width=\"80\"><a href=\"javascript: openwindow(print.php?Ort=NI)\">Print</a></td>



in der print.html funktioniert und in der Print.php nicht.
unterschiedlich ist nur, dass openwindow ein parameter mitgeliefert bekommt, sonst bleibt es beim code gleich.

mfg
Francesco
 
Ich vermute mal, dass der IE ein Problem damit hat, dass die Funktionen identisch benannt sind. Das Script des Openers ja nicht verworfen beim Popup. Zudem ist es nicht wirklich logisch, mit einer openwindow() zu drucken..

Wieso machst du nach dem window.print() noch den focus auf das Fenster?

Schalte doch mal beim IE das Scriptdebugging an, oder wechsle auf den Firefox mit dem Web-Developer Plugin. Dann kannst du dem Problem anständig auf den Grudn gehen..
 
hi,

QUOTE Schalte doch mal beim IE das Scriptdebugging an, oder wechsle auf den Firefox mit dem Web-Developer Plugin. Dann kannst du dem Problem anständig auf den Grudn gehen..


eingeschaltet IE und FF zeigen keinen Fehler an.

Die Print-Fenster werden getrennt angezeigt, so dass keine Überschneidung auftreten kann.

mfg
Francesco
 
Und der Hinweis von Moritz bezüglich "Zum Beispiel mit <body onload="openwindow()"> " in Deiner print.php war auch nicht hilfreich?
Das Problem _muß_ ja in der print-php liegen, da dort ja auch der Druckvorgang angestossen werden soll/muß.

Ansonstzen wäre der gesamte Quellcode Deiner print.php mal interessant.
 
Hi MarkusH,

Ja hatte ich überprüft, nur nicht gesehen, dass ich openwimdow() stehen hatte statt openwindow(),

Nun wird das ganze angestoßen. FREU

vielen Dank an alle die mir geholfen habe.

mfg
Francesco
biggrin.gif
 
QUOTE (francesco @ Mi 22.11.2006, 15:16) hi,


QUOTE Schalte doch mal beim IE das Scriptdebugging an, oder wechsle auf den Firefox mit dem Web-Developer Plugin. Dann kannst du dem Problem anständig auf den Grudn gehen..


eingeschaltet IE und FF zeigen keinen Fehler an.

Die Print-Fenster werden getrennt angezeigt, so dass keine Überschneidung auftreten kann.

mfg
Francesco

Hmm, wenn du wirklich Vertipper drin hast, muss dies der Scriptdebugger melden. Zumindest meiner tut's..
 
Hi,

weiß net, hab keine Fehlermeldung bzw. Warnung bekommen, dass die Funktion nicht aufgerufen wird bzw. das eine aufrufende Funktion gesucht wird.
Was ich eigentlich von delphi c++ etc. gewohnt bin.

Aber nun läufts ja FREU.


mfg
Francesco
 
Zurück
Oben