2015-06-02 19 views
-4

Этот вопрос в основном из академических интересов (отчасти потому, что раньше я сталкивался с такой проблемой и просто нашел обходное решение, но я хочу знать, как это сделать).Altering window.print() Функциональность Javascript

Как функция JavaScript window.print() определяет, какие части страницы печатаются? Моя конечная цель состоит в том, чтобы добавить новые поля в диалоговое окно «print», которое отсутствует на исходной странице, а также предотвратить публикацию некоторого содержимого на моей странице (например, запретить некоторые текстовые ссылки на моей веб-странице печататься на бумага).

Могу ли я отредактировать функцию в соответствии с моими требованиями? Где находятся файлы JS?

+0

«Метод print() печатает содержимое текущего окна». Если вы хотите распечатать специальные данные - откройте эти данные в новом окне и используйте на нем метод print(). –

+0

'window.print' не создает * диалог *, который создает * диалог *, является веб-браузером,' window.print' запускает запрос только браузеру. Вы не получите больше, чем с 'window.print'. –

+0

Не нужно объяснять. И этот вопрос будет проиндексирован и станет указателем на канонический ответ, который может помочь людям в вашей ситуации в будущем. – Will

ответ

0

Да, добавить класс к элементам, которые вы делаете не хотите напечатать, и в вашем теге стиля используйте media="print"

затем отрегулируйте соответственно, и у вас будет то, что вы хотите.

<style type="text/css" media="print"> 
    .elementYoudontWanttoPrint { 
     display:none; 
    } 
</style> 
-1

Вам нужно добавить файл css со средствами, указанными как печать. В этом файле CSS вы можете написать разные классы, в которых вы можете легко установить видимость элементов с помощью атрибутов css.

http://www.w3schools.com/css/css_mediatypes.asp http://www.smashingmagazine.com/2011/11/24/how-to-set-up-a-print-style-sheet/

+0

Хорошо. Пожалуйста, учтите, чтобы добавить комментарий, прежде чем отмечать его, поскольку этот ответ не является полезным. Просто отметить это не поможет. – prashant

+0

Ваш ответ был действительно полезен. Я не был тем, кто это сделал, но у меня нет достаточного количества репутации, чтобы на самом деле поддержать вас или кого-либо еще, так что спасибо за усилия! :) – Ajay

1

window.print() функция печатает всю страницу. Используя запросы css media, вы можете управлять тем, что вы хотите распечатать/не печатать для устройств печати.

Узнайте больше здесь - http://www.joshuawinn.com/css-print-media-query/

HTML код:

<a class="text_link">Link text not to be printed.</a> 

CSS код:

@media print { 
.text_link{display:none} // this will hide the text link and hence will not be printed. 
} 
Смежные вопросы