Время с последнего пользователя actitivty в Firefox - PullRequest
0 голосов
/ 27 августа 2009

В настоящее время я разрабатываю расширение для Firefox, которое регулярно проверяет некоторые XML-файлы на стороне сервера (каждые 2 минуты). Я хочу добавить следующую функцию:

Каждый раз, когда пользователь неактивен в течение X минут, интервал проверки увеличивается на множитель Y, пока не будет достигнут предел Z. Для этого мне нужно время бездействия. Это значение (или что-то подобное) уже сгенерировано внутри Firefox? Если так: как я могу получить к нему доступ с моего внутреннего номера? И если нет: есть ли способ создать его самостоятельно?

Ответы [ 3 ]

2 голосов
/ 28 августа 2009

Я ожидаю, что если вы наложите браузер на файл browser.xul, вы должны иметь возможность подключаться к событиям на уровне браузера, а не возиться с отдельными страницами. XPCOM имеет Idle Service , получить его из расширения должно быть возможно .

0 голосов
/ 27 августа 2009

Вы не будете знать, активен ли пользователь в другом окне. Если с вами все в порядке, то вы должны прикрепить слушателей событий вроде mousemove, keydown, mousescroll (?) И тому подобных к телам каждой открытой страницы, а также прослушивать создание закрывающих вкладок с помощью некоторых внутренних средств FF. Если некоторые из этих слушателей не запускаются в течение X минут, значит, у вас нет активности.

0 голосов
/ 27 августа 2009

Вы можете только проверить, что пользователь неактивен в окне / вкладке вашего браузера. Это может быть достигнуто с помощью JavaScript.

загрузка тела -> сохранить время в lastactivitytime ()

движение мыши -> сохранить время lastactivitytime (document.onmousemove)

при нажатии клавиш -> сохранить время lastactivitytime (document.onkeypress)

каждый раз, когда ваш интервал истекает, проверяйте значение по сравнению с текущим временем.

Прекратить опрос до полной остановки, если окно не активировано. Onblur event

...