LINUX.ORG.RU

Дополнение Firefox: перехват события печати

 , ,


0

1

для удобства хочу научить браузер закрывать вкладку после отправки оной на печать.
готового дополнения которое делало бы только это не нашёл
пытаюсь сделать вручную, но немогу даже отдалённо похожее на то что нужно найти на developer.mozilla.org
т.е. при в обработчике что то типа такого наверное должно выполняться

var tab = tabs.activeTab;							
var lowLevelTab = viewFor(tab);
var browser = tab_utils.getBrowserForTab(lowLevelTab);			
browser.contentDocument.onafterprint = tab.close();
но вся соль, как перехватить событие отправки на печать?


Проще будет добавить свою кнопку, которая сначала отправляет на печать, а потом закрывает страницу.

Bfgeshka ★★★★★
()

после отправки оной на печать

Интереса ради, а что должно произойти, если в диалоге печати нажать на кнопку «Отмена»? Или закрыть предварительный просмотр?

d2
()
Ответ на: комментарий от Bfgeshka

сначала отправляет на печать, а потом закрывает страницу.

Как ты предлагаешь сделать это? Отправка на печать == открытие диалогового окна печати, что не обязательно заканчивается непосредственно выводом на печать.

d2
()
Ответ на: комментарий от d2

Я не представляю, как бы сделать иначе, при этом чтобы затраченная работа была соизмерима пользе аддона. А пользы от него не так уж и много.

Плюс к тому - как понять, что именно в печати? Если сделать получение просто статуса («Я печатаю»), то будет только хуже - начнёт печатать в другом приложении, а оно ему все вкладки молча пришибёт.

Bfgeshka ★★★★★
()
Ответ на: комментарий от d2

для onafterprint неважно в действительности была нажата кнопка печать или диалог закрыли, мне это тоже не принципиально.
важен перехват события print (и/или соответствующего хоткея Ctrl+P), именно до него обрабатывается beforeprint, и после afterprint Ориентируюсь вот сюда

Zhopin
() автор топика
Ответ на: комментарий от d2

таки это идея юзать messagelistener, спасибо, буду пробовать

Zhopin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.