БлогNot. Как сделать "версию страницы для печати"?

Как сделать "версию страницы для печати"?

Первый путь - можно открыть через 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 [14855 просмотров]


теги: javascript html вебдезигн

К этой статье пока нет комментариев, Ваш будет первым