zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden generierte Elemente per CSS vom Druck ausblenden

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 14.05.2009, 11:33
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard generierte Elemente per CSS vom Druck ausblenden

Ich bin mir nicht sicher, ob ich in CSS oder lieber hier die Frage stellen soll, also nehme ich mal Javascript.

Ich habe per jQuery eine Hinweisbox eingefügt, die aber nun auch beim Drucken zu sehen ist. Ich habe in meinem Druckstylesheet für die Box display:none; gesetzt, aber die erscheint trotzdem.

Kann man per JS erkennen, ob der Benutzer drucken will, oder gibt es einen anderen Weg, die eingefügten Elemente nicht mitzudrucken?
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 14.05.2009, 12:23
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Also wenn du im Druckstylesheet angibst, dass diese Box nicht gedruckt werden soll, dann sollte sie auch nicht gedruckt werden. Anders hast du keinen Einfluss darauf, auch nicht mit JS
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 14.05.2009, 12:33
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Hab nur für den IE <= 7 folgendes Konstrukt:
Code:
notice = "<p id='ie6notice' class='notice'>....</p>"
$(document).ready(function(){
	$("#breadcrumb").after(notice);
	$("#ie6notice").css({display: "none"});
	$("#ie6notice").slideDown(600);
});
und im mgh_print.css folgendes
Code:
#ie6notice, .notice { display: none; }
und im Dokument dann

Code:
	<!--[if lte IE 7]>
	<script type="text/javascript" src="js/no_ie6.js"></script>
	<![endif]-->
	<link href="mgh_print.css" rel="stylesheet" type="text/css" media="print" />
aber wenn ich im IE 6 in die Druckvorschau reinschaue, dann ist der Text der notice trotzdem zu sehen.
Mit Zitat antworten
  #4 (permalink)  
Alt 14.05.2009, 12:44
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Da kann ich dir nicht weiterhelfen, wie gesagt auf Systemaktionen hast du keinen Einfluss und normalerweise sollte das Druckstylesheet Elemente ausblenden, wenn es bei dir nicht so ist, muss irgendwas falsch sein.

Hast du mal versucht ein Minimalbeispiel (ohne JS Framework) zu bauen, um zu sehen um das ganze denn prinzipiell geht?
Mit Zitat antworten
  #5 (permalink)  
Alt 14.05.2009, 13:13
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Minimalbeispiel hab ich keines, aber das Druck-CSS greift ja bei allen anderen Elementen, nur eben bei dem per JS eingefügten nicht.

Naja, werd mal weiterschauen.
Mit Zitat antworten
  #6 (permalink)  
Alt 14.05.2009, 13:26
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 01.06.2006
Beiträge: 622
Rico wird schon bald berühmt werden
Standard

warum willst du den noprint unbedingt mit JS machen ? Ich nehme an, dass du deine Box in einem <div> oder <span> definiert hast. dann machst du

Code:
<div id="noprint">

.....Box definieren ..
</div
der ID=noprint gibst du display : none; oder entsprechend mit <span>.
Warum das nicht funktionieren soll ist mir schleierhaft.

was auch immer geht ist :
Code:
<noprint>

......auszublendendfer Bereich im Druck......
</noprint>
das wäre vor allem nützlich, wenn du grössere zusammenhängende Bereiche aus dem Druck ausblenden willst, dann brauchst du nicht alle Elemente einzeln auf display : none; zu setzen.

Gruss
Rico
Mit Zitat antworten
  #7 (permalink)  
Alt 14.05.2009, 15:05
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von uspri Beitrag anzeigen
Minimalbeispiel hab ich keines, aber das Druck-CSS greift ja bei allen anderen Elementen, nur eben bei dem per JS eingefügten nicht.
Das ist halt die Frage, ob das wirklich so ist.
Ich hab hier grad keinen IE <7 daher kann ich das nicht auspobieren. Aber es sollte auch kein Problem sein, ein Testszenarium mit appendChild() mal schnell zusammen zu bauen.
Mit Zitat antworten
  #8 (permalink)  
Alt 14.05.2009, 16:39
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Das ist halt die Frage, ob das wirklich so ist.
Ich hab hier grad keinen IE <7 daher kann ich das nicht auspobieren. Aber es sollte auch kein Problem sein, ein Testszenarium mit appendChild() mal schnell zusammen zu bauen.
Dazu bin ich leider zu wenig informiert, was JS angeht, mit einem Framework bekomme ich das hin, aber nicht zu Fuß. Dazu müsste ich jetzt zu lange nachlesen und dazu hab ich grad keine Zeit.
Mit Zitat antworten
  #9 (permalink)  
Alt 14.05.2009, 18:01
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

HTML-Code:
window.onload = function() {
var div = document.createElement('div');
div.id= 'test';
div.innerHTML = 'Inhalt';
document.body.appendChild(div);
};
und dann im Druckstylesheet:
Code:
#test { display: none; }

Geändert von protonenbeschleuniger (15.05.2009 um 00:47 Uhr)
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 14.05.2009, 20:24
Benutzerbild von uspri
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 04.07.2005
Beiträge: 900
uspri sorgt für eine eindrucksvolle Atmosphäreuspri sorgt für eine eindrucksvolle Atmosphäre
Standard

Hab das mal in mein bestehendes Dokument eingefügt und es wird nichtmal das Element erstellt.

Egal, belassen wir es dabei. Ich habe es nun so gemacht, dass mittels setTimeout() das eingefügte Element wieder gelöscht wird. Sollte ein IE Benutzer eher drucken, dann steht der Text eben wieder da. Evtl. werd ich das per JS und Cookie noch komplett abschaltbar machen.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Per PHP gezielt einzelne Elemente im Baum "treffen" AndreasB Serveradministration und serverseitige Scripte 6 19.09.2010 11:44
Option Value aufgrund Value inhalt per CSS definieren noxx-forever CSS 7 01.08.2010 22:09
einzelne Zeichen per CSS einfügen ? Geht das ? Saturnknight CSS 6 09.05.2010 12:48
Menüpunkt-Markierung per css steuern asmodi-c CSS 7 05.03.2010 20:19
"Fusszeile" per CSS? derSESO CSS 3 02.02.2005 01:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:32 Uhr.