Как определить, как долго пользователь находился на определенной странице? - PullRequest
0 голосов
/ 09 августа 2011

Я пытаюсь выяснить, как я могу определить, как долго пользователь был на странице.Я открыт для решений javascript, которые периодически вызывают некоторые серверные сценарии, но мне интересно, есть ли какие-либо решения лучше, чем это?

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

Можно ли как-то определить, является ли страница "активной"?(имеется в виду поверх других вкладок / окон, и пользователь обращает на это внимание? это для образовательного веб-приложения)

Ответы [ 2 ]

0 голосов
/ 18 сентября 2011

Закончилось создание функции javascript, которая периодически вызывала скрипт php на сервере.Сохраните поле «последнее обновление» в базе данных и установите минимальное время, до которого оно может быть обновлено, чтобы гарантировать, что пользователь не вызвал злонамеренно функцию опроса.

0 голосов
/ 09 августа 2011

Я не знаю, насколько это будет полезно.

Однако ваша проблема выглядит скорее задачей браузера, чем задачей страницы.Если вы хотите реализовать общее решение на стороне клиента, вы можете написать, например, расширение chrome.

В API chrome.tabs.* есть все функции, необходимые для определения, когда страница загружена, активна, выбрана илизакрыто.

onCreated

chrome.tabs.onCreated.addListener(function(Tab tab) {...}));

Запускается при создании вкладки.

onRemoved

chrome.tabs.onRemoved.addListener(function(integer tabId, object removeInfo) {...}));

Запускается при закрытии вкладки.

onSelectionChanged

chrome.tabs.onSelectionChanged.addListener(function(integer tabId, object selectInfo) {...}));

Запускается при изменении выбранной вкладки в окне.

...