Как добавить кнопку, при нажатии которой будет выводиться на принтер заданный фрагмент страницы?

голоса: 0
как добавить кнопку, при нажатии которой будет выводиться на принтер заданный фрагмент страницы?
| Автор: | Категория: Вопросы новичков
Изменение категории | | Автор: Yuri_Geruk

Ответов: 1

Голоса: +1
 
Лучший ответ

Актуальная инструкция как распечатать отдульный текст на странице сайта

1. В глобальный блок нижняя часть сайта http://ваш-сайт.ру/panel/?a=tmpl;m=1;t=BFOOTER установите код:

<script type="text/javascript"> 
$(function(){
    $('#print').click(function(){
        var printing_css='<style media=print>tr:nth-child(even) td{background: #f0f0f0;}</style>';
        var html_to_print=printing_css+$('#to_print').html();
        var iframe=$('<iframe id="print_frame">');
        $('body').append(iframe);
        var doc = $('#print_frame')[0].contentDocument || $('#print_frame')[0].contentWindow.document;
        var win = $('#print_frame')[0].contentWindow || $('#print_frame')[0];
        doc.getElementsByTagName('body')[0].innerHTML=html_to_print;
        win.print();
        $('iframe').remove();
    });
});
</script>

2. Далее на нужной вам странице заверните текст который нужно распечатать в код:

<div id="to_print">здесь текст для печати</div>

3. В самом начале материала перед всем кодом установите код кнопки для печати:

<button id='print'>Печать</button>

готово, после будет все работать.

| Автор:
Выбор ответа лучшим | | Автор: Mr.3et

не могу найти настройки этой кнопки. Меня интересует, чтобы он выводил только определенный фрагмент а не все. Еще при попытке печати он выдает сообшение, что я не имею доступа к странице.

Mr.3et,
Вот пример решения http://yraaa.ru/scripts/print-div  думаю то что вам нужно.
Yuri_Geruk,

наверное это действительно то что мне подходит, но у меня часть скрипта выходит текстом, я так понимаю это не правильно))

Mr.3et,

Данный скрипт:

<script type="text/javascript"> 
function PrintElem(elem) 

Popup($(elem).html()); 

function Popup(data) 

var mywindow = window.open('', 'my div', 'height=400,width=600'); 
mywindow.document.write('<html><head><title>my div</title>'); 
mywindow.document.write('</head><body >'); 
mywindow.document.write(data); 
mywindow.document.write('</body></html>'); 
mywindow.document.close(); // necessary for IE >= 10 
mywindow.focus(); // necessary for IE >= 10 
mywindow.print(); 
mywindow.close(); 
return true; 

</script>

установите в глобальный блок нижняя часть сайта в самый низ.  Код:

<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js" > </script>

не нужен. Текст для печати завернуть в исходнике материала в код:

<div id="mydiv">Tekst</div>

не между текста, а в исходнике и кнопку для печати:

<input type="button" value="Print Div" onclick="PrintElem('#mydiv')" />

также вставить в исходнике где-то в самом начале перед всем текстом и кодом.

Yuri_Geruk,

Проблема с пунктом 1 повторилась

все остальное я и до этого сделал как описано.

Mr.3et,
Да, не рабочий скрипт уже, поправил свой ответ в самом начале, проверил, все рабочее. Пример работы в материале http://9bclass.ucoz.ru/how-to-find-balance-ukrtelecom
Yuri_Geruk,
Все работает отлично! Благодарствую.
...