[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


Скрипты и коды для юкоз - Форум аццкого кодера » Скрипты JavaScript, Примеры на JavaScript, полезные исходники, подобное » Вывод страницы на печать, версия для печати. JavaScript

Вывод страницы на печать, версия для печати. JavaScript
[1] likbezz [03.12.2013, 20:58]
Как заметили, или не заметили, неважно, но много интересных идей я беру с одноименного форума, бывшего (печально это) Форума Технической Поддержки, а ныне сборище Сообщество Юкоз.
Ну так вот, внимание (!) я увидел такое - закачаетесь...

Прилагаю скриншот:


---

Воистину “гениальное” решение простой задачи - вывода документа в печать.

Такую муть я давно не видел ..
Подозреваю, что какой-нить новичок мог случайно или с большого бодуна, написать подобную лажу.. но, оказывается и члены группы “продвинутые(не просто усеры, или проверенные - продвинутые - почти модераторы) тоже блещут успехами в поисках абсурдных путей .. причем именуя их “самым простым решением”..

Для этого афтор предлагает создать файл, подключить к нему jQuery .. + счетчик опенстат, что подключится автоматически, вставить туда скрипт, определяющий реферер (причем через жопу), затем (!) внимание (!) делающий гет запрос, и не один (!!!), на страницу с которой открыли окно, с целью получить контент (кашмар..) и потом выводит полученное в блок, а после уже на печать...
Караул..
Я, честно, был под стулом..
--

Но не расстраивайтесь, все, на самом деле, гораздо проще.
Вот так:
Код
<script type="text/javascript">
function onPrint(){
var text=document.getElementById('message').innerHTML,title=document.getElementById('title').innerHTML,backlink=document.location.href;
var printwin=open('#','printwin','width=600,height=700');
printwin.document.open();
printwin.document.writeln('<html lang="ru"><head><title>'+title+'</title></head><body onload="print();close();">');
printwin.document.writeln('<h1>'+title+'</h1>');
printwin.document.writeln(text);
printwin.document.writeln('<a href="'+backlink+'"><i>'+backlink+'</i></a>');
printwin.document.writeln('</body></html>');
printwin.document.close();
};
</script>
<a href="javascript://" onclick="onPrint();return false;">[onPrint]</a>

Это минимум, остальное по вкусу )

Ну и конечно, пример:

Экземпле: http://likbezz.ru/_example/jscript/2013/onprint/onPrint.html
---

ps
Цитата vitaly576
у меня есть инет-магаз, думал сделать конвертацию коммерческого предложения в pdf для удобства отправки клиенту...

Я уже хочу посмотреть на это чудо ))
Прикрепления: 2700908.png (22.1 Kb) · fn.onprint.js (0.7 Kb)
[2] likbezz [17.11.2014, 05:30]
Для юкоз:
Код
<script type="text/javascript">
function onPrint(){
var text=document.getElementById('message').innerHTML,title=document.getElementById('title').innerHTML,backlink=document.location.href;
var printwin=open('#','printwin','width=600,height=700');
printwin.document.open();
printwin.document.writeln('<html lang="ru"><head><title'+'>'+title+'</title'+'></head'+'><body onload="print();close();">');
printwin.document.writeln('<h1>'+title+'</h1>');
printwin.document.writeln(text);
printwin.document.writeln('<a href="'+backlink+'"><i>'+backlink+'</i></a>');
printwin.document.writeln('</body></html'+'>');
printwin.document.close();
};
</script>


Переписываем титле в некую конструкцию:
Код
</title'+'>

ибо иначе на него вешаются системные стили, что ломают код ...

И, соответственно:
Код
</html'+'>

ибо есть на юкоз такое диво, как опенстат, что садится на хвост закрывающему html


Полная версия сайта