Как сделать "версию страницы для печати"?
Первый путь - можно открыть через Javascript пустое всплывающее окно, в котором будут убраны все "лишние" элементы окна браузера, вот код функции, написанной для этой цели:
<script type="text/javascript"> function printWin (url,text,w,h) { //url - адрес документа для печати //text - якорь ссылки //w,h - ширина и высота всплывающего окна document.writeln ('<a href=\'javascript: win=window.open( "'+url+ '", "_printver", "width='+w+',height='+h+',left='+ (screen.width-w)/2+',top='+(screen.height-h)/2+ ',toolbar=no,location=no,status=0,menubar=0,scrollbars=1,resizable=no");'+ ' win.focus();\'>'+text+'</a>'); } </script>
и пример её вызова:
<script type="text/javascript"> printWin ('http://www.ya.ru','Яндекс для печати',640,480); </script>
Недостаток метода - всплывающие окна в браузере могут быть запрещены.
Кроме того, наш документ не загружает диалог печати автоматически.
Более простой путь - делаем (или автоматически гененируем) "лёгкую" версию
страницы с минимумом графики и разметки (допустим, её имя 2.html
),
вызываем её ссылкой как новое окно:
<a href="2.html" target="_blank">Версия для печати (новое окно)</a>
и указываем в теге <body>
документа, предназначенного для печати, автоматический вызов диалога
печати по загрузке страницы:
<body onload="javascript:print();">
Отправить документ "из браузера сразу на принтер" нельзя.
26.04.2011, 16:06 [14987 просмотров]