Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.11.2010, 11:53
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Печать контента с сервера получаемого по АЯКС
Вопрос в том как полученные данные с сервера сразу вывести на печать без отображения нового окна?
Что бы сразу появлялся диалог печати?

Вот код:
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();

Я его вызываю когда пришли данные с сервера, но мне не нужно их показывать а сразу показать дилог печати...
Возможно такое?
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2010, 12:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Загрузить их в скрытый iframe и его напечатать.
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2010, 12:43
2de 2de вне форума
Аспирант
Отправить личное сообщение для 2de Посмотреть профиль Найти все сообщения от 2de
 
Регистрация: 26.10.2010
Сообщений: 78

Используйте тэг мета с атрибутом media, и ЦССом выводить только тот блок в который был загружен аяксовый контент
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2010, 12:43
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Сообщение от Kolyaj Посмотреть сообщение
Загрузить их в скрытый iframe и его напечатать.
А как напечатать iframe?
Не работает..
var iframe = Ext.get('forprint');
iframe.print();


Или использовать onLoad у frame и там вызывать window.print() ?
Ответить с цитированием
  #5 (permalink)  
Старый 02.11.2010, 12:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Проще в самом iframe вызвать window.print() по onload.
Ответить с цитированием
  #6 (permalink)  
Старый 03.11.2010, 10:36
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Сообщение от Kolyaj Посмотреть сообщение
Проще в самом 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();

Вроде заработал, но после нескольких вызовов диалог печати вызывает а на печати ничего нет

Как распечатать необходимый контент а не всё окно???
Ответить с цитированием
  #7 (permalink)  
Старый 03.11.2010, 10:44
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Сообщение от 2de Посмотреть сообщение
Используйте тэг мета с атрибутом media, и ЦССом выводить только тот блок в который был загружен аяксовый контент
Извините пропустил Ваш ответ...

Можно поподробнее?

Как именно: "ЦССом выводить только тот блок в который был загружен аяксовый контент"?
Ответить с цитированием
  #8 (permalink)  
Старый 03.11.2010, 10:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В самом iframe значит в странице, которая загружается в iframe.
Ответить с цитированием
  #9 (permalink)  
Старый 03.11.2010, 11:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от miha-ha
Как именно: "ЦССом выводить только тот блок в который был загружен аяксовый контент"?
Как вариант...

<!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>
Ответить с цитированием
  #10 (permalink)  
Старый 03.11.2010, 14:08
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Сообщение от Kolyaj Посмотреть сообщение
В самом iframe значит в странице, которая загружается в iframe.
iFrame печатается, почему-то накапливает в себе загружаемые данные а не перепичсывает их каждый раз.

Как очистить данные в iFrame после печати?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск