Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вариант страницы для печати, без перезагрузки средствами JS/CSS? 
:(
    Опции темы
VAZik
Дата 15.11.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Есть страница одного содержания. Нужно вывести на принтер страницу абсолютно другого содержания и вернуть пользователя на прежнюю страницу.
Всем, кто поможет, премного благодарен.
PM MAIL   Вверх
kira
Дата 15.11.2005, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 20.6.2005

Репутация: 1
Всего: 1



При помощи CSS это делается просто - какие части страницы не надо выводить на печать - присваиваешь class="asd" у тега.
Код

  @media print {
    asd { display: none }
  }
  @media screen {
    asd { display: inline }
  }

PM MAIL   Вверх
VAZik
Дата 16.11.2005, 03:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



конечно, вариант красивый и заманчивый, вот только он не работает... кстати, мне кажется, что в CSS вложенные {} не приветствуются... по крайней мере у меня colorer в Far'e отказывается их распознавать... хотя в других языка это прекрасно работает...
PM MAIL   Вверх
kira
Дата 16.11.2005, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 20.6.2005

Репутация: 1
Всего: 1



У <body> есть событие onbeforeprint и onafterprint. В них добавляется на javascript код для скрытия ненужных элементов. После этого при предварительном просмотре скрытые тобой элементы показаны не будут. При закрытии окна предварительного просмотра позываем скрытые ранее элементы.


Может проще будет сделать отдельное окно для печати с необходимым содержимым?
PM MAIL   Вверх
Ciber SLasH
Дата 16.11.2005, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Всё прекрасно скрывается от печати и через CSS:
Код

<html>
<head>
<style type='text/css'>
@media print {
    #print {display: none}
}
</style>
</head>

<body>
Visible text
<div id='print'>Hidden text</div>
</body>
</html>

PM   Вверх
VAZik
Дата 16.11.2005, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



В общем проблема решена следущим образом.
Создан файл toprint.css. В нем настройки печати, в т.ч. и
[css]
table.qwe{
display:none;
}
[/css]
Соответственно исчезают таблицы класса qwe. kira, пасибки за идею...
Добавлено @ 13:57
В общем проблема решена следущим образом.
Создан файл toprint.css. В нем настройки печати, в т.ч. и
[css]
table.qwe{
display:none;
}
[/css]
Соответственно исчезают таблицы класса qwe.
а потом в head'e страницы
<link href="toprint.css" rel="stylesheet" type="text/css" media="print">
kira, пасибки за идею...
PM MAIL   Вверх
Sardar
Дата 16.11.2005, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



VAZik единственное правильное решение ИМXО это media аттрибуты у CSS. Можешь подключить несколько стилей через link, но задать им media="screen или print" аттрибут, соотвествующий стиль будет использован при печати.

События onbeforeprint не стандартные, т.е. IE only (хотя мозилла/опера может и поддерживают...). Если JS отключен (общественная библиотека, большое и-нет кафе и т.д.) то вообще не сработает smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.