2011-10-04 18 views

Odpowiedz

9

Nie możesz, z wyjątkiem przeglądarek IE. Żadna inna przeglądarka nie ma wcześniejszego zdarzenia drukowania. Możesz jednak wybrać konkretny arkusz stylów, aby zastosować go tylko podczas drukowania:

<!-- In head --> 
<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

Ten arkusz stylów zostanie zastosowany przed drukowaniem. Umożliwia to przeprowadzenie niesamowitych zmian, w tym ukrywanie głównych sekcji, przenoszenie elementów i wykonywanie stylizacji tylko do druku, takich jak podział strony.

Inną opcją jest udostępnienie użytkownikowi przycisku "Drukuj tę stronę". Że przycisk może obsługiwać JavaScript, zadzwoń window.print() i cofnąć zmiany:

function printMe() { 
    // perform changes 
    window.print(); 
    // revert changes 
} 

window.print() metoda zawsze bloki (w każdej przeglądarce Przetestowałem), więc jest to bezpieczne, aby natychmiast cofnąć zmiany później. Jednakże, jeśli użytkownik zdecyduje się drukować za pomocą menu lub paska narzędzi, nie masz szczęścia.

Jednym ze sposobów obsługi tego przypadku w złożonej aplikacji internetowej było posiadanie arkusza stylów drukowania, który ukrył wszystko poza specjalnym DIV. Jeśli użytkownik kliknie przycisk drukowania, otrzyma komunikat ostrzegawczy. Jeśli klikną przycisk drukowania, to element div zostanie wypełniony poprawnymi informacjami. Nie jest świetny, ale przynajmniej nie dostali kilku stron śmieci.

3

AFAIK nie ma ogólnej możliwości. IE ma przedrukowywany odbitki i odbitki, które teraz są dodawane również do Firefoksa 5/6 + (nie wiem na pewno). Rozważyć użycie Wydrukuj konkretnych stylów

<link rel="stylesheet" href="print.css" type="text/css" media="print" /> 

Inne istotne pytania

Powiązane problemy