Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Печать страницы (https://javascript.ru/forum/dom-window/21207-pechat-stranicy.html)

Saboth 01.09.2011 12:42

Печать страницы
 
Как печатать указанную страницу.
К примеру вариант
<a href=# onclick="print(); return false;">Печать</a><br>
проходит. Как указать сторонний адрес. К примеру
<a href="print.php" onclick="print(); return false;">Печать</a><br>

Триви 01.09.2011 14:42

Метод относится к объекту window, так что по идее никак.

Kolyaj 01.09.2011 14:44

Вызывать print() на странице print.php

Saboth 01.09.2011 14:49

Цитата:

Сообщение от Kolyaj (Сообщение 124073)
Вызывать print() на странице print.php

Пробовал, но не понимаю как. Какие есть события вызывающиеся при открытии страницы? Получится ли потом вернутся назад по
header("Location: prePage.php");
или как ещё?

Saboth 01.09.2011 14:52

Опять же функция
print()
только вызывает функцию броузера. Т.е. выполнение страницы остановится, для выбора принтера и прочего или нет, страница проскочит(что желательно) или останется висеть?

Kolyaj 01.09.2011 14:53

Или загружайте нужную страницу в скрытый фрейм, и уже из него печатайте.

Snipe 01.09.2011 14:56

А вам нужна именно другая страница или та же самая но с другим дизайном?
Есть возможность с помощью CSS на печать выводить немного другое, чем в браузере: http://htmlbook.ru/css/media

Saboth 01.09.2011 15:19

Цитата:

Сообщение от Snipe (Сообщение 124080)
А вам нужна именно другая страница или та же самая но с другим дизайном?

Мне нужна страница без дизайна. Т.е. на текущей у меня имеются кнопки, фреймы, селекты, а мне нужно напечатать только таблицу (выбирается из бызы) и ряд полей. По сути отчёт. Совершенно не важно с этой же или другой страницы. Просто знания в JS довольно скудные, поэтому вариант с другой страницей выглядет попроще, мне проще PHP-кой сформировать новую, чем с существующей долбатся.

Saboth 01.09.2011 15:20

Цитата:

Сообщение от Kolyaj (Сообщение 124079)
Или загружайте нужную страницу в скрытый фрейм, и уже из него печатайте.

Можно примерчик? Попроще. А то знаниев на хватает.

Snipe 01.09.2011 16:28

Цитата:

Сообщение от Saboth (Сообщение 124084)
Мне нужна страница без дизайна. Т.е. на текущей у меня имеются кнопки, фреймы, селекты, а мне нужно напечатать только таблицу (выбирается из бызы) и ряд полей. По сути отчёт. Совершенно не важно с этой же или другой страницы. Просто знания в JS довольно скудные, поэтому вариант с другой страницей выглядет попроще, мне проще PHP-кой сформировать новую, чем с существующей долбатся.

Ну значит можно сделать отдельный css файл (можно и в основном, но я логику люблю разделять), который для печати будет прятать все ненужные элементы, задавая им display: none ну или что там удобнее.
А страница будет одна и та же.
И точно так же можно сделать с любой другой страницей.

Получится примерно так:
@media print { /* Стиль для печати */
    BODY {
     font-family: Times, 'Times New Roman', serif; /* Шрифт с засечками */
    }
    H1, H2, P {
     color: #000; /* Черный цвет текста */
    }
    .menu {
      display: none; /* Спрятать ненужные элементы дизайна */
    }
}


Часовой пояс GMT +3, время: 05:12.