2016-07-01 3 views
0

ich einen Drucktisch Code Geige haben LINKJavascript traditionelle print() Methode Stil kommt nicht in der Druckansicht

meinen Code überprüfen:

function printData() 
{ 
    var divToPrint=document.getElementById("printTable"); 
    console.log(divToPrint.outerHTML); 
    newWin= window.open(""); 
    newWin.document.write(divToPrint.outerHTML); 
    newWin.print(); 
    newWin.close(); 
} 

ich hinzugefügt haben background-color zu, dass so rot wie Sie sehen können in Geige. Ich habe versucht, es zu drucken. Aber im Druck kommt die Farbe nicht und alle anderen Dinge funktionieren gut. Ich habe über @media print recherchiert und alles, aber nicht in der Lage, es zu knacken. Bitte führe mich und eine aktualisierte Geige wird großartig sein, die du mir geben kannst. Prost!

+0

Der vollständige Inhalt Ihrer Frage muss ** in der Frage ** sein, nicht nur verknüpft. –

Antwort

1

Browser neigen Hintergrundfarben und Bilder deaktivieren standardmäßig. Überprüfen Sie Ihre Browser-Druckoptionen für einen „Druckhintergrundfarben“ Option oder ähnliches, zum Beispiel in Chrome:

  • im Druckdialog, klicken Sie auf „+ Weitere Einstellungen“ am unteren Rand der linken Spalte
  • Markieren Sie das „Hintergrundgrafik“ -Box
  • die Druckvorschau jetzt sollten Sie zeigen die Hintergrundfarbe

Firefox zwei Optionen unter „drucken Backgrounds“ zu haben scheint auf der Registerkarte „Optionen“ des Druckdialog:

  • "Hintergrundfarben drucken"; und
  • "Print Background Images"

Bitte beachte, dass ich Ubuntu bin mit; Der spezifische Wortlaut und der Speicherort dieser Optionen können je nach Betriebssystem und Browser variieren. Einige Browser haben möglicherweise keine Option dafür, einfach alle Hintergrundfarben/Bilder für den Druck zu entfernen.

Ich glaube nicht, dass Sie diese Optionen aus dem JS/CSS/HTML-Code erzwingen können; Es liegt immer beim Benutzer, zusammen mit anderen Druckoptionen.

+0

Danke Kumpel. Also, wo immer ich das tun, müssen Browsereinstellungen richtig ändern? – Santhucool

+0

Ja, Sie müssen immer die Browser-Einstellungen überprüfen - sie alle machen es anders, und ich glaube nicht, dass ein Browser eine Möglichkeit bietet, diese Optionen aus HTML/JS/CSS zu setzen. – NullColaShip

+0

@ NullColaShip das war schrecklich. Ich weiß nicht, warum sie das machen. Übrigens vielen Dank Kumpel. – Santhucool

1

Die meisten Browser drucken keine Hintergrundfarben oder Bilder. Einige haben benutzergesteuerte Einstellungen dafür, aber Sie können nicht auf Hintergründe zählen, es liegt beim Benutzer (wenn der Browser es sogar erlaubt).

Getrennt: Ihr neues Fenster wird nicht jede explizite Styling in Ihrem Beispiel haben, wenn es im Inneren des printTable Element ist, wie Sie ein ganz eigenes Fenster mit völlig getrennten Inhalt sind die Erstellung und so keines Das Styling der aktuellen Seite wird vererbt.


die technisch ungültig wäre, style und link nicht außerhalb head erlaubt, aber ich habe es nie wirklich bekannt, um ein Problem

+0

Ich habe überprüft 'console.log (divToPrint.outerHTML);' in dort Stil ist da. Das ist, was dann gedruckt wurde, warum es nicht kommt. – Santhucool

+0

@ Santhucool: Siehe den ersten Absatz. –

+0

Die Fiddle im OP verwendet einen Inline-Stil, um die Hintergrundfarbe zu erreichen, also ja, es macht es in das neue Fenster. Es geht dann um Browser/Druckoptionen. – NullColaShip

Verwandte Themen