ne frage .......... weiß net genau wo das hingehört
Nobody
- javascript
tagchen leute ... hätte da mal ne frage an die Java-Kenner unter euch.
ich hab ne druckansicht für einen teil meiner internetseite eingerichtet, und nun wollte ich eben genauf auf dieser druckansicht ein Script bzw. Link einfügen mit dem man das dokument gleich ausdrucken kann.
"Diese Seite Drucken" .... ihr wisst bestimmmt was ich meine. das hab ich dann auch hinbekommen --> ABER! auf dem ausdruck erscheint dann dieser Link "Diese Seite Drucken" auch auf dem Blatt.
Nun wollt ich mal fragen ob es vielleicht irgendwie klappt, dass man mit einem weiteren Script oder ähnlichem diesen Link "Diese Seite..." beim draufklicken löschen kann und gleich danach den druckbefehl schaltet?! naja hört sich ein bissle komisch an, wär euch aber echt dankbar wenn ihr ne idee habt ^^ thx
tagchen leute ... hätte da mal ne frage an die Java-Kenner unter euch.
javascript != java.
"Diese Seite Drucken" .... ihr wisst bestimmmt was ich meine. das hab ich dann auch hinbekommen --> ABER! auf dem ausdruck erscheint dann dieser Link "Diese Seite Drucken" auch auf dem Blatt.
document.getElementById["meinLink"].style.visibility = "hidden";
bzw
document.all.meinLink.style.visibility = "hidden";
oder so ähnlich...
gruß
csx
javascript != java.
document.getElementById["meinLink"].style.visibility = "hidden";
bzw
document.all.meinLink.style.visibility = "hidden";
oder so ähnlich...
gruß
csx
thx für die schnelle hilfe werds gleich mal testen :)
Hi
ich hab ne druckansicht für einen teil meiner internetseite eingerichtet, und nun wollte ich eben genauf auf dieser druckansicht ein Script bzw. Link einfügen mit dem man das dokument gleich ausdrucken kann.
Du arbeitest bestimmt mit CSS oder? Es gibt auch eine Lösung ohne Umweg über JavaScript: Versuch doch mal, in der Druckansicht zwei verschiedene Stylesheets zu verwenden. Das "Diese Seite drucken" legst du in ein eigenes <div>, welches du in dem Stylesheet, welches für den Ausdruck verwendet wird, nicht angezeigt wir. Et voilà.
MfG
Tom2
Du arbeitest bestimmt mit CSS oder? Es gibt auch eine Lösung ohne Umweg über JavaScript: Versuch doch mal, in der Druckansicht zwei verschiedene Stylesheets zu verwenden. Das "Diese Seite drucken" legst du in ein eigenes <div>, welches du in dem Stylesheet, welches für den Ausdruck verwendet wird, nicht angezeigt wir. Et voilà.
tagchen ............ äehm yop ich arbeite mit Stylesheets. ich benutze im moment eines für die komplette homepage. mmhh da ich noch nicht sooo lang mit java, css & co. zu tun hab, bin ich kein obercrack ;)
1. wie verwende ich dann 2 stylesheets? einfach im <head> tag nochmal nen verweis zum 2ten machen?
<link href="1teCSS" type="text/css" rel="STYLESHEET">
<link href="2teCSS" type="text/css" rel="STYLESHEET">
2. wie bestimmte ich, welches stylesheet für den ausdruck verwendet wird?
3. und wie kann ich dann in der *.css festlegen dass die class die ich dann der div gebe nicht angezeigt wird? (visibility? color?)
thx ^^
Hallo,
- wie bestimmte ich, welches stylesheet für den ausdruck verwendet wird?
<link href="1teCSS" type="text/css" rel="stylesheet">
<link href="drucker.css" type="text/css" rel="stylesheet" media="print">
- und wie kann ich dann in der *.css festlegen dass die class die ich dann der div gebe nicht angezeigt wird? (visibility? color?)
Am besten mit display. Es muß auch nicht unbedingt ein div sein.
<p class="noprint">blabla</p>
Und in 'drucker.css' dann:
.noprint { display: none; }
Gruß, Jan
Hallo,
- wie bestimmte ich, welches stylesheet für den ausdruck verwendet wird?
<link href="1teCSS" type="text/css" rel="stylesheet">
<link href="drucker.css" type="text/css" rel="stylesheet" media="print">
- und wie kann ich dann in der *.css festlegen dass die class die ich dann der div gebe nicht angezeigt wird? (visibility? color?)
Am besten mit display. Es muß auch nicht unbedingt ein div sein.
<p class="noprint">blabla</p>
Und in 'drucker.css' dann:
.noprint { display: none; }
Gruß, Jan
kewl ..... thx gleich ausprobieren ;)
tagchen du .......... ich schreib dir hier mal nen teil des quelltextes rein von meiner css und der html datei.
[drucker.css]
.noprint { display: none; }
[druckversion.htm]
<head> ...
<link href="styles/xxx.css" type="text/css" rel="STYLESHEET">
<link href="styles/drucker.css" type="text/css" rel="STYLESHEET" media="print">
... </head>
<body> ...
<a href="javascript:window.print"><p class="noprint">Diese Seite Drucken</p></a>
... </body>
wenn ich den verlinkten text dann anklick kommt folgendes:
"function print() { [native code] }"
WAS ZUM TEUFEL IST DAS NUN???
Hallo,
<a href="javascript:window.print"><p class="noprint">Diese Seite Drucken</p></a>
<a> unp <p> so zu verschachteln ist m.E. nicht erlaubt.
'print()' ist eine Methode von 'window', deshalb müssen da für einen Methodenaufruf Klammern dahinter.
mach daraus also:
<p class="noprint"><a href="javascript:window.print();">Diese Seite Drucken</a></p>
Gruß, Jan
tagchen .................. yiiiipiiii endlich hats geklappt :)
thx@jan ^^
nur eines noch: ich habe versucht die Schriftgröße und die Ausrichtung zu verändern. als ich es jedoch verändert hab, war nichts mehr zu sehen. das werd ich noch in der *.css festlegen ... sollte kein größeres Problem darstellen ... bis denn
Moin!
- wie verwende ich dann 2 stylesheets? einfach im <head> tag nochmal nen verweis zum 2ten machen?
<link href="1teCSS" type="text/css" rel="STYLESHEET">
<link href="2teCSS" type="text/css" rel="STYLESHEET">
Exakt so. Damit kannst du z.B. als erstes eine allgemeine CSS-Datei für deine gesamte Site einbinden, und danach nochmal eine spezielle CSS-Datei für die Sektion, in der man sich gerade befindet. Die Definitionen in der zweiten Datei _überschreiben_ ggf. die Definitionen der ersten Datei. Wenn du also z.B. die Hintergrundfarbe allgemein setzt (und auch die Schriftfarbe)
body { background-color:#FFF; color:#000; }
dann kannst du in der zweiten Datei beispielsweise die Hintergrundfarbe nochmal abändern:
body { background-color:#FFC; }
Und schon hast du schwarze Schrift auf hellgelbem Hintergrund.
- wie bestimmte ich, welches stylesheet für den ausdruck verwendet wird?
Du kannst jeder <link>-Angabe ein media-Attribut hinzufügen. Dann wird die Datei nur für die genannten Ausgabemedien verwendet. Derzeit sinnvolle Werte sind: screen (Bildschirmdarstellung), print (Papierausdruck) und projection (in Opera: Vollbilddarstellung mit F11). Es gibt noch eine Reihe weiteter Medientypen, aber wohl kaum Browser, die sie beachten.
http://selfhtml.teamone.de/css/formate/einbinden.htm#link_media
Wenn du also die erste Datei für media="screen" und die zweite Datei für media="print" einbindest, kannst du dir die separate Druckansicht im Prinzip sparen. Alles, was nicht ausgedruckt werden soll, blendest du mit "display:none" in der CSS-Datei aus.
Experimentiere ruhig ein wenig damit. Empfehlenswert ist die Verwendung eines Browsers mit Druckvoransicht. IE 5 hat das leider nicht, IE 5.5 weiß ich nicht, aber IE6, Opera und Mozilla haben alle eine Druckansicht. Netscape 4 kann mit Druckstylesheets leider nichts anfangen, es wäre aber auch absolut uneffektiv, für diesen selten gewordenen Browser eine eigene Lösung zu stricken.
- und wie kann ich dann in der *.css festlegen dass die class die ich dann der div gebe nicht angezeigt wird? (visibility? color?)
Du kannst alles definieren, was du willst. Empfehlenswert ist beispielsweise auch, die Schriftfarbe auf "schwarz" und die Hintergrundfarbe auf "weiß" festzulegen, ansonsten geht beim Ausdruck nur unnötig die Farbpatrone drauf, bzw. der Text wird im Schwarzweiß-Drucker nur hellgrau ausgedruckt. Hintergrundbilder werden auch nur gedruckt, wenn die Browser-Druckeinstellungen das erlauben.
Und wie erwähnt: Alles, was nicht sichtbar sein soll, mit "display:none" ausblenden. Wenn du nur "visibility:hidden" definierst, dann wird dieses Element zwar ausgeblendet, nimmt aber den Platz noch weg, den es einnimmt.
Es ist außerdem eine schlechte Idee, bei der Druckausgabe absolut oder relativ zu positionieren. Es kann ja immer mal sein, dass die Papierseite für die angedachte Position zu klein ist - und dann wird Text womöglich abgeschnitten.
- Sven Rautenberg
tagchen leute ...
Hallo Niemand
ich hab ne druckansicht für einen teil meiner internetseite eingerichtet, und nun wollte ich eben genauf auf dieser druckansicht ein Script bzw. Link einfügen mit dem man das dokument gleich ausdrucken kann.
"Diese Seite Drucken" .... ihr wisst bestimmmt was ich meine. das hab ich dann auch hinbekommen --> ABER! auf dem ausdruck erscheint dann dieser Link "Diese Seite Drucken" auch auf dem Blatt.
<style type="text/css">
@media print {
.hinweis {visibility:hidden;}
}
@media screen {
.hinweis {visibility:visible;}
}
<div class="hinweis"><a href="#" onClick=wasauchimmer>Diese Seite Drucken</a></div>
HTH
Maxx
<style type="text/css">
@media print {
.hinweis {visibility:hidden;}
}
@media screen {
.hinweis {visibility:visible;}
}<div class="hinweis"><a href="#" onClick=wasauchimmer>Diese Seite Drucken</a></div>
HTH
Maxx
tagchen maxx
mmmhhh ... so schön sich deine lösung auch anhört, es klappt nicht
:( ich hab den style richtig in den <head> tag eingefügt, die <div> auch passend benannt und eingefügt. bei onClick hab ich
"javascript:window.print" hingeschrieben -> nichtmal das macht er.
entweder stell ich mich wirklich doof an oder ... äehm naja ok lassen wir das ;) was bedeutet dieser href="#" eigentlich?
mmmhhh ... so schön sich deine lösung auch anhört, es klappt nicht
wie klappt es nicht: Siehst du den Text auf dem Bildschirm? Auf dem Drucker? Was sagt die Seitenvorschau des Browsers?
:( ich hab den style richtig in den <head> tag eingefügt, die <div> auch passend benannt und eingefügt.
Dann muss es gehen. Hast du eine Uraltbrause? NN4.x?
bei onClick hab ich
"javascript:window.print" hingeschrieben -> nichtmal das macht er.
<a href="javascript:window.print()">Diese Seite drucken</a> ODER
<a href="#" onClick="window.print()">Diese Seite drucken</a>
was bedeutet dieser href="#" eigentlich?
ein <a> ist nur dann ein <a> wenn er einen href="" hat. Wenn du nur den onClick benötigst (so wie im 2ten Beispiel) brauchst du einen href="#" (und eigentlich noch einen "return false;" weil der Browser sonst zum Seitenanfang (#) springt)
ffbx
Maxx