Чтобы убедиться, что пользователь ничего не делал, вы можете наблюдать за событиями, которые означают взаимодействие с пользователем:
var last_seen = 0;
var timeout = null;
$('body').mousemove(function () {
last_seen = (new Date()).getTime();
window.clearTimeout(timeout);
timeout = window.setTimeout(clear_da_session, 10000);
});
/* ... and likewise for things like
$('input').focus();
$('a').click();
and 'keypress' events
*/
Материал clearTimeout
и setTimeout
заботится о том, что происходит (то есть функция clear_da_session
) после некоторого времени, когда не было запущено ни одно из перечисленных событий.
Однако я хочу еще раз подчеркнуть свой комментарий сверху: не делайте этого дома, дети! Используйте любой ваш серверный язык на борту. Это гораздо надежнее, чем пытаться отследить что-то, что может быть невозможно отследить.