2016-07-01 3 views
0

У меня есть печать кода таблицы скрипку LINKJavascript традиционной печати() стиль метод не подходит ввиду печати

Проверьте мой код:

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

я добавил background-color к тому, что красный, как вы можете видеть, в скрипке. Я попытался его распечатать. Но в печати цвет не подходит, и все остальное работает нормально. Я исследовал около @media print и все, но не смог его взломать. пожалуйста, направляйте меня, и обновленная скрипка будет потрясающей, вы можете дать мне. Ура!

+0

Полное содержание вашего вопроса должно быть ** в вопросе **, а не только связанным. –

ответ

1

Браузеры, как правило, чтобы отключить фоновые цвета и изображения по умолчанию. Проверьте параметры печати браузера для опции «Печать цвета фона» или подобное, например, в Chrome:

  • В диалоге Печать нажмите кнопку «+ Дополнительные настройки» в нижней части левой колонки
  • Отметьте «Фоновая графика» окно
  • печать предварительный просмотр теперь должен показать вам цвет фона

Firefox, кажется, есть два варианта в разделе «печать Backgrounds» на вкладке «параметры» в диалоговом окне печати:

  • "Print Background Colors"; и
  • «Печать Фоновые изображения»

Обратите внимание, что я использую Ubuntu; конкретная формулировка и расположение этих параметров могут различаться в зависимости от вашей ОС, а также от браузера. Некоторые браузеры могут вообще не иметь возможности для этого, просто снимая все цвета фона/изображения для печати.

Я не думаю, что вы можете принудительно использовать эти параметры из кода JS/CSS/HTML; это всегда зависит от пользователя, а также других параметров печати.

+0

Спасибо, друг. Итак, где бы я ни делал это, нужно изменить настройки браузера правильно? – Santhucool

+0

Да, вам всегда нужно будет проверить настройки браузера - все они делают это по-другому, и я не думаю, что любой браузер предоставляет возможность установить эти параметры из HTML/JS/CSS. – NullColaShip

+0

@ NullColaShip, что было ужасно. не знаю, почему они это делают. Кстати, спасибо большому приятелю. – Santhucool

1

Большинство браузеров не будут печатать цвета фона или изображения. Некоторые из них имеют настраиваемые пользователем настройки, но вы не можете рассчитывать на фоны, это зависит от пользователя (если браузер даже позволяет им это делать).

Отдельно: Ваше новое окно не будет иметь любой явный стиль в вашем примере, если это не внутри printTable элемента, , как вы создаете полностью отдельное окно с совершенно отдельным содержанием и поэтому ни одна из стилизация текущей страницы наследуется.


, который будет технически недействительным, style и link не допускаются за пределами head, но я никогда не знал его на самом деле быть проблемой

+0

Я проверил 'console.log (divToPrint.outerHTML);' там есть стиль. Это то, что передавалось, чтобы напечатать то, почему оно не наступит. – Santhucool

+0

@Santhucool: см. Первый абзац. –

+0

Fiddle в OP использует встроенный стиль для достижения цвета фона, так что да, он делает это в новом окне. Затем это зависит от параметров браузера/печати. – NullColaShip