Создание версии для печати страницы сайта (вариант на 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. Что и как? (13.01.2022)
- 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)
- Асинхронная загрузка css (21.01.2021)
- Оборачиваем изображения в ссылки с помощью хука add_filter('the_content', ...) в functions.php (14.08.2019)
- Добавляем форму отправки обратного звонка на сайт (по Javascript и с ReCaptcha) (29.07.2019)
- Преимущества ИТ–аутсорсинга (25.03.2019)
- Отладка PHP кода в консоли браузера (22.03.2019)
- Ошибка в phpmyadmin: count(): Parameter must be an array or an object that implements Countable (27.03.2019)
- Java-скрипт работа с css-свойствами (09.03.2019)
- Две или более reCaptcha на одной странице. Несколько рекапч на странице (25.02.2019)
- Оверлей кнопка на видео HTML5 video overlay play button (15.02.2019)
- Javascript: Выводим прелоадер пока ожидаем выполнение скрипта php (29.01.2019)
- Плавная прокрутка на странице (Bootstrap JS Scrollspy) (12.10.2018)

6 комментариев
Для WordPress лучше брать плагин WP-Print. Или посмотрите его на офф. сайте wordpress.org
кто нить знает как можно ее сохранить такую?
Плиз подскажите и вкакая функция сахранения в браузерах или они разные для разных браузеров?
Подскажите пожалуйста, у меня в область для печати попадает форма с input type='text'
Так вот при открытии нового окна input'ы обнуляются
Подскажите как можно сделать перенос свойства value в новое окно.
Чтоб корректно работало во всех браузерах надо вконце поставить
prwin.document.close();
Это лучший вариант из всех, что мне удалось найти в сети.
Однако остался вопрос: как сделать, чтоб слова "Печать и Закрыть окно" не печатались?