javascript-Code ausführen, wenn Seite drucken
beim drucken einer Seite, die javascript-code scheint nicht ausgeführt werden.
wie kann ich feststellen, ob die Seite, die gerade gedruckt wird? Ich mache einige js-Größe ändern, und haben, um den Druck ein wenig anders.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht, außer für IE-Browser. Kein anderer browser hat ein vor dem Ereignis print. Sie können jedoch auf eine bestimmte stylesheet gelten nur während des Druckens:
Dieses stylesheet angewendet wird, bevor Sie drucken. Dies ermöglicht Ihnen, führen Sie einige erstaunliche Veränderungen, einschließlich ausblenden von wichtigen Abschnitten, bewegliche Gegenstände um, und durchführen von drucken-nur das styling, wie Seitenumbrüche.
Weitere option ist es, den Benutzer mit einem "diese Seite Drucken" - button. Diesen button kannst deinen JavaScript-Aufruf
window.print()
, und die änderungen rückgängig machen:Den
window.print()
Methode blockiert immer (in jedem browser, die ich getestet habe), also ist es sicher sofort wieder die Veränderungen danach. Allerdings, wenn der Benutzer, wählen Sie drucken über das Menü oder die Symbolleiste, Sie sind aus Glück heraus.Einer Weise, die ich behandelt diesen Fall in einer komplexen web-app war es, ein Druck-stylesheet, die versteckt alles, aber eine Besondere DIV. Wenn der Benutzer auf drucken, erhalten Sie eine Warnmeldung. Wenn Sie geklickt haben, die Schaltfläche "drucken", dann das div wäre bevölkert mit den richtigen Informationen. Es ist nicht toll, aber zumindest werden Sie nicht bekommen, die mehrere Seiten Müll.
AFAIK gibt es keine Allgemeine Möglichkeit. IE hat die Ereignisse onbeforeprint und onafterprint sind nun auch für Firefox 5/6+ (ich weiß nicht für sicher). Erwägen Sie die Verwendung drucken spezifische stylesheets
Anderen relevanten Fragen