Создание версии для печати страницы сайта (вариант на JavaScript)
Для начала, сам скрипт:
Code
<script type="text/javascript" language="javascript"><!-- function atoprint(aId) { var atext = document.getElementById(aId).innerHTML; var captext = window.document.title; var alink = window.document.location; var prwin = open(''); prwin.document.open(); prwin.document.writeln('<html><head><title>Версия для печати<\/title><\/head><body text="#000000" bgcolor="#FFFFFF"><div onselectstart="return false;" oncopy="return false;">'); prwin.document.writeln('<div style="margin-bottom:5px;"><a href="javascript://" onclick="window.print();">Печать<\/a> • <a href="javascript://" onclick="window.close();">Закрыть окно<\/a><\/div><hr>'); prwin.document.writeln('<h1>'+captext+'<\/h1>'); prwin.document.writeln(atext); prwin.document.writeln('<hr><div style="font-size:8pt;margin-top:20px;">© Портал SzenProgs.ru<\/div>'); prwin.document.writeln('<div style="font-size:8pt;">Страница материала: '+alink+'<\/div>'); prwin.document.writeln('<div style="margin-top:5px;"><a href="javascript://" onclick="window.print();">Печать<\/a> • <a href="javascript://" onclick="window.close();">Закрыть окно<\/a><\/div>'); prwin.document.writeln('<\/div><\/body><\/html>'); } --></script>Прописываем его в теле HEAD, или выносим в отдельный js файл.
Теперь нужно пометить ту часть материала, которую выведем на печать. Это сделаем при помощи DIV.
Code
<div id="MessForPrint">Тут текст сообщения для печати...</div>
MessForPrint - это тот id, состав которого будем на печать отправлять.
Теперь сделаем ссылку, по которой будем открывать окно с облегченным текстом.
Code
<a href="javascript://" onclick="atoprint('MessForPrint');">Версия для печати</a>
В качастве параметра для функции atoprint передаем id div блока. Все, просмотр сделан. Теперь нажав на ссылку "Версия для печати" будет открываться новое окно с облегченным содержанием для печати. Незабудьте заменить копирайт в скрипте на свой, иначе я стану автором Вашего материала
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 0 Composer – пакетный менеджер PHP. Что и как? (22.07.2014)
- 0 MySQL и PHP: Вычисление возраста (количество лет) по дате рождения (20.06.2017)
- 0 Yii: Bootstrap tabs, делаем активной вкладку на которую выполняется переход по ссылке (20.03.2014)
- 0 CodeIgniter: Всплывающая форма обратной связи на Ajax в Bootstrap Modal и проверкой Captcha (18.02.2014)
- 0 Как изменить часовой пояс на сервере (16.11.2013)
- 0 PHP: Как удалить файлы по маске? (07.11.2013)
- 0 Регулярные выражения в PHP (12.04.2014)
- 0 Opencart: Модуль Filter Product OpenCart_v1.5.x: Как скрывать недоступные опции в фильтре (23.10.2013)
- 0 Защита от спама в phpBB3 без капчи (09.10.2013)
- 0 Php функция implode внутри запроса SELECT к MySQL. (02.09.2013)
- 0 Как убрать папку www из денвера? (22.03.2013)
- 0 Устанавливаем и настраиваем WampServer (аналог MAMP в Mac и возможная замена Denwer'у) на Windows (22.03.2013)
- 0 Полезные возможности PhpStorm и настройка горячих клавиш (14.03.2013)
- 0 WordPress: Добавить ссылку "Сохранить фото" для галереи на NextGen с эффектом Lightbox (12.04.2013)
- Артефакты при ресайзе библиотекой GD изображений с однородным (белым) фоном (07.12.2017)
- Задаем область печати документа для PHPExcel (05.12.2017)
- Выдвигающаяся из значка форма поиска на сайте (27.11.2017)
- Как включить SSL и сделать редирект на HTTPS. На примере Opencart 2 (03.12.2017)
- Как убрать placeholder при клике по input (04.11.2017)
- Смена кодировки Битрикса с windows-1251 в UTF-8 (utf8) (01.12.2017)
- Свой дизайн кнопок социальных сетей для сайта. Кнопки "Поделиться" (19.06.2017)
- Ошибка: Invalid argument supplied for foreach() in ... (09.04.2017)
- Загрузка файлов (картинок) по ajax через форму для Opencart (04.09.2016)
- Замена текста при наведении на него мышью. События onmouseover и onmouseout (25.03.2016)
- Прилипание блока к верху сайта при его прокручивании (17.02.2016)
6 комментариев
Для WordPress лучше брать плагин WP-Print. Или посмотрите его на офф. сайте wordpress.org
кто нить знает как можно ее сохранить такую?
Плиз подскажите и вкакая функция сахранения в браузерах или они разные для разных браузеров?
Подскажите пожалуйста, у меня в область для печати попадает форма с input type='text'
Так вот при открытии нового окна input'ы обнуляются
Подскажите как можно сделать перенос свойства value в новое окно.
Чтоб корректно работало во всех браузерах надо вконце поставить
prwin.document.close();
Это лучший вариант из всех, что мне удалось найти в сети.
Однако остался вопрос: как сделать, чтоб слова "Печать и Закрыть окно" не печатались?