В процессе тестирования нового продукта появилась задача: определить кто и сколько раз вывел страницу на печать (или хотя бы попытался это сделать).
Только я стал читать про событие onbeforeprint
, возникающее, когда браузер начинает преобразовывать контент текущего документа для печати или предварительного просмотра перед печатью (есть только в IE и в Firefox с версии 6.0), как в RSS читалку «упало» сообщение от @Евгения Степанищева с заголовком «Как узнать, что пользователь печатает веб-страницу на принтере?«.
Суть его решения: подсунуть браузеру при @media print вместо фоновой картинки PHP скрипт, где и ведётся сбор статистики — все гениально и просто.
Например, так:
@media print { body { background: url('path_to_php_script') -10px -10px no-repeat; } }
RTFM
- Как узнать, что пользователь печатает веб-страницу на принтере?
- Событие onbeforeprint (на данный момент сайт взломан, заходить на него не рекомендуется)
- HTML onbeforeprint Event Attribute
- window.onbeforeprint
- beforeprint | onbeforeprint event
- Detecting Print Requests with JavaScript
- Почти кроссбраузерный beforeprint
Источник: https://www.kobzarev.com/programming/php-counting-the-number-of-pages-to-print-output/