Как узнать, что пользователь печатает веб-страницу на принтере?
У нас тут задача в процессе производства продукта появилась — занести в лог, что пользователь сделал попытку печати
Придумал такое решение — перед печатью браузер накладывает стиль CSS для печати, если он есть, этим можно воспользоваться:
@media print {
body {
background: url(http://example.org/user-tries-to-print.php);
}
}Браузер попытается загрузить фоновое изображение (и загружает, я попробовал), выполнится серверный скрипт и положит в логи то, что нужно.
Комментарии 15
А я ломал голову, как навесить счётчики на печать.
Спасибо.
Интересно, что ты такое делаешь :)
а при повторной печати (без перезагрузки страницы) отправляется запрос?
хотя количество попыток, наверное, не так важно
Для нас это неважно :) Главное, что попытался, сколько раз — не интересно :)
Обычно это проще делают.
@media print {
* { display: none; }
}
Рефакторинг страницы печати Я.Карт :)
Где как. Зависит от браузера и есть ли у него предосмотр документа.