Есть ли кросс-браузерный способ запуска события после печати с использованием JavaScript? - PullRequest
3 голосов
/ 28 ноября 2010

Так что мне нужно иметь возможность распечатать диалоговое окно jQuery UI.Мое решение до сих пор привело меня к созданию кнопки «Печать», которая создает новый <iframe>, заполненный содержимым диалогового окна, а затем печатает его.

Я хотел бы иметь возможность удалить <iframe> как только печать завершится.Есть ли способ, которым я могу сделать это?Я знаю, что в IE есть событие onAfterPrint, но мне нужно, чтобы оно работало во всех браузерах.

Спасибо!

Редактировать: Я ценю альтернативные предложения, однако ястолкнулся с всевозможными проблемами, пытаясь использовать правила CSS для печати диалогов JQuery.На страницах с большим количеством содержимого и несколькими диалоговыми окнами структура наложения и других элементов приведет к печати дополнительных пустых страниц.Я пробовал много комбинаций {видимость: скрытый;} и {display: none;} но не смог найти решение.

1 Ответ

5 голосов
/ 28 ноября 2010

Рассматривали ли вы создание специальной таблицы стилей с атрибутом media = "print"? Заставьте эту таблицу стилей скрыть все остальное на странице, которую вы не хотите печатать, и при необходимости сбросьте любое форматирование. (Например, сбросьте позиционирование на поле с абсолютного на статическое)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...