Zum Inhalt springen

Javascript direkt aufrufen


geloescht_JesterDay

Empfohlene Beiträge

Hallo,

gibt es eine Möglichkeit Javascript direkt aufzurufen, also ohne einen EventHandler wie onClick o.ä.

Mein Problem: Ich erstelle mit PHP eine Tabelle und der Druck soll anders aussehen (Farben und Seitenumbruch...). Dazu hab ich einen Button "Printer friendly" (Name wird noch geändert), damit erzeuge ich die Tabelle nochmal und will sie dann gleich drucken (window.print()) und dann wieder zurück (self.location.href = ...).

Weiss jemand wie ich es hinbekomme, das die Javascript funktionen einfach so ausgeführt werden?

Oder reicht dazu der OnLoad Handler? Aber ich denke der würde doch ausgeführt, bevor der Rest angezeigt ist...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Eigentlich müsste auch die OnLoad variante funtionieren. Danach könntest Du ja mit

<META HTTP-EQUIV="Refresh" CONTENT="5; URL=frame-noflash.html">

zurück auf deine Ausgangsseite weiterleiten.

oder du baust einen Timer in deine OnLoad funktion ein, wenn die Zeit zum Drucken nicht ausreicht:

timer=setTimeout("self.location.href='neuedatei.htm'", 5000);

Hoffe, ich konnte helfen

MFG

- Oneside -

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm was ist denn, wenn du das ganze in einem Fenster aufgehen lässt? Und in die neue Seite dann ein OnLoad einbaust? Das onLoad lässt du einen Funktion aufrufen.


z.B. 

function drucken()

{

  window.print();

  window.close();

}

Hmm ich sollte genauer lesen. :P

Ich meine das onload wird erst ausgeführt, wenn die Seite komplett geladen ist oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

OnLoad wird doch beim Laden gestartet, also u.U. noch bevor das Dokument fertig geladen ist, oder nicht? Da dafür die Daten neu aus der DB abgefragt werden müssen, könnte es passieren, das der Druck zu früh startet. Selbst wenn die Chance dafür nicht alzu gross sein mag, auf sowas lasse ich mich ungern ein...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist jetzt aber nicht das selbe. Wenn er die Anweisung einfach ins Script setzt, wird sie beim übertragen der Seite geladen, aber vor dem Übertragen der Bilder. Wenn er es nach dem Download machen will, muss schon eine Funktion im Onload her.

Ist aber eigentlich eh schnurz, da der Browser das Dokument nur druckt, wenn es komplett ist. Zumindest war das bei mir beim IE immer so.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich gehe davon aus, daß es auf jeder Seite die Möglichkeit gibt, einen Button anzuklicken, über den eine druckversion.php aufgerufen wird. Wenn man der Meinung ist, daß es sich lohnt, die Seite auszudrucken, sind die Bilder bereits übertragen. Und in der druckversion.php steht dann halt als letztes das Javascript drin.

Apropos Javascript. Damit geht es übrigens auch (zumindest mit dem Internet Explorer):

<html>

<head>

<script>

function printversion()

{

a = document.all.inhalt.innerHTML;

b = window.open('about:blank');

b.document.open();

// Hier kann man über b.document.write beispielsweise noch CSS einbinden

b.document.write(a);

b.document.close();

b.print();

b.close();

}

</script>

</head>

<body>

Das hier wird nicht gedruckt.

<div id="inhalt">

Das hier wird gedruckt.

</div>

<a href="javascript:printversion();">Inhalt drucken</a>

</body>

</html>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oh, da trifft SelfHTML 8.0 ja zwei verschiedene Aussagen zu ein und demselben Punkt:

"wenn die Datei geladen ist..." und "wenn eine HTML-Datei geladen wird"

Übrigens sollte das mit dem Smily im Code in meinem letzten Posting javascript:printversion() heißen, habe nur vergessen, diese verdammten Mistdinger abzuschalten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo, bevor ich hier nachgefragt habe habe ich es mit einem <script>

window.Print();

</script>

Probiert, es hat aber nicht funktioniert, daher ja dann die Frage.

Also ich mache es jetzt mit dem OnLoad, in meiner SelfHTML Version (offline, und u.U. schon etwas älter...) hab ich auch nur "beim Laden einer Seite" gefunden.

Das mit dem OnLoad funktioniert. Je nach verwendetem Browser wird die Seite erst angezeigt, dann wartet man ne weile, und dann kommt der Druck-Dialog (IE), oder man klickt auf "Drucken", dann kommt der Dialog, und am Ende sieht man kurz die Seite bevor der location.href wirkt (Mozilla, besser Phoenix). Der Druck funktioniert aber bei allen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...