Печать контента с сервера получаемого по АЯКС
Вопрос в том как полученные данные с сервера сразу вывести на печать без отображения нового окна?
Что бы сразу появлялся диалог печати? Вот код: var win = window.open('about:blank','movement','height=400,width=600,resizable=1,scrollbars=1, menubar=0'); win.document.open(); win.document.write("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' /><title>Printing the Grid</title><link rel='stylesheet' type='text/css' href='css/printstyle.css'/></head><body> Что печатать, когда нечего печатать? </body></html>"); win.print(); Я его вызываю когда пришли данные с сервера, но мне не нужно их показывать а сразу показать дилог печати... Возможно такое? |
Загрузить их в скрытый iframe и его напечатать.
|
Используйте тэг мета с атрибутом media, и ЦССом выводить только тот блок в который был загружен аяксовый контент
|
Цитата:
Не работает.. var iframe = Ext.get('forprint'); iframe.print(); Или использовать onLoad у frame и там вызывать window.print() ? |
Проще в самом iframe вызвать window.print() по onload.
|
Цитата:
<iframe id="forprint" name="forprint" src="about:blank" style="display:none; width:400px; height:500px; border: 0px onload="window.print();" ></iframe> Не срабатывает... Этот код window.frames['forprint'].document.write('Печатает?!'); window.frames['forprint'].focus(); window.frames['forprint'].print(); Вроде заработал, но после нескольких вызовов диалог печати вызывает а на печати ничего нет :( Как распечатать необходимый контент а не всё окно??? |
Цитата:
Можно поподробнее? Как именно: "ЦССом выводить только тот блок в который был загружен аяксовый контент"? |
В самом iframe значит в странице, которая загружается в iframe.
|
Цитата:
<!DOCTYPE html> <html> <head> <style type="text/css"> @media screen { /* Стиль для отображения в браузере */ #load_data { display: none; } } @media print { /* Стиль для печати */ #content { display: none; } } </style> <script> </script> </head> <body> <div id='content'> <p>На экране.</p> </div> <div id='load_data'> <p>На печать.</p> </div> </body> </html> |
Цитата:
Как очистить данные в iFrame после печати? |
Часовой пояс GMT +3, время: 06:18. |