2011-01-25 4 views
0

У меня есть вопрос ... возможно ли запустить javascript-событие (например, сценарий ajax, который изменяет таблицу), если пользователь нажимает «печать» в диалоговом окне печати? Но только после нажатия «печать», а не при открытии диалога. Лично я не думаю, что это возможно, так как я считаю, что диалог реализован на уровне браузера, но я подумал, что попробую.Событие при нажатии кнопки «Печать» в диалоговом окне «Печать»

+0

Что вы подразумеваете под изменением таблицы (данные или внешний вид)? – Chandu

ответ

0

Нет, это невозможно - вы не можете зафиксировать щелчок по диалогу, так как это не возвращается к движку javascript.

Как вы уже догадались, это делается на уровне браузера (или иногда в операционной системе, через стандартный диалог печати).

Если вам нужен другой вывод для печати (угадывание здесь), вы можете проверить CSS media types, что позволит это сделать.

0

Internet Explorer имеет onbeforeprint и onafterprint, но ни один из других браузеров не поддерживает его (хотя в настоящее время он предлагается для HTML5).

Ваш лучший вариант - использовать CSS-таблицу стилей для мультимедиа, включая все необходимое, но скрывать элементы только для печати в обычной таблице стилей и переопределять обычную таблицу стилей по мере необходимости в печати.

Если это недостаточно гибко, вы можете поместить свою собственную кнопку печати на страницу. К сожалению, все это будет зависеть от пользователей, которые знают, как использовать его.

0

вы не можете ничего с тем, что пользователь может делать с диалогом печати браузера сделать, но вы можете указать другую таблицу стилей для печати с media='print', что приведет к печатной продукции, чтобы отличаться от экрана для просмотра на выход в