|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.04.2013, 21:12 | #21 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
Не важно, использует или нет скринсейвер, если он вдруг возник, и юзер не предпринял попыток его закрыть, то точно не читает.
Аналогично, если юзер переключился на другое окно, значит уже не читает. Если в читалке есть прокрутка, то можно отслеживать прокручивание, зная примерно сколько времени надо на прочтение открытого куска текста. Если долго не прокручивает, значит не читает. Ну а если весь текст на экране, то юзер может читать и не нажимая ничего на клавиатуре, и не трогая мышь. E-Mail: arigato.freelance@gmail.com
|
06.04.2013, 11:03 | #22 | |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
Цитата:
А ещё можно включить камеру и отслеживать действия пользователя по изображению) |
|
06.04.2013, 11:08 | #23 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
Раз окно стало неактивным, значит, не читал, а потому премию за текущий месяц ему платить не нужно. На самом деле на экране может поместиться довольно небольшой кусочек текста. И если юзер мог уже 5 раз его прочитать, а до органов управления даже не дотронулся, значит, не читает. |
|
06.04.2013, 11:18 | #24 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
Проверяйте, перекрыто или нет окно с текстом другими окнами.
E-Mail: arigato.freelance@gmail.com
|
06.04.2013, 15:27 | #25 | |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
Цитата:
|
|
06.04.2013, 15:31 | #26 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
Все я правильно понял. Написал же, что надо проверят, перекрывает активное окно наш текст или нет. Если перекрывает и пользователь его не убирает, значит уже не читает, а если не перекрывает, то может быть и читает.
Вообще, тут можно доказать, что пользователь не читает, но нельзя доказать, что он читает. E-Mail: arigato.freelance@gmail.com
|
06.04.2013, 18:20 | #27 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Правильно, а потому все изыски сложнее измерения времени между двумя воздействиями на органы управления текущей программы, это уже не решение задачи, а программирование ради программирования.
|
06.04.2013, 19:09 | #28 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
Не верно, если доказано, что человек не читает, уже хорошо. Ну а если не доказано, тогда можно и время считать.
E-Mail: arigato.freelance@gmail.com
|
07.04.2013, 15:04 | #29 |
Пользователь
Регистрация: 23.12.2008
Сообщений: 74
|
Допустим, а можно посчитать, сколько символов показано в поле? Именно показано, т.е. после того, как пользователь проскроллил текст?
Если да, то решение должно быть примерно таким: Пользователь выбрал раздел, запускаем таймер. Пользователь начал скролить текст - записываем количество отработанного времени в переменную_1 и количество прочтенных символов в переменную_2 (грубо говоря), и начинаем считать снова (с нуля), и так до тех пор, пока мы не определим среднее количество времени, которое пользователь потратил на чтение текста. Для пущего успеха также можно использовать "внешние" факторы, такие как перекрытие окна, потеря фокуса окна программы, запуск скринсейвера, и т.д. Плюс - проверяем записанное время в переменной_1 и количество прочтенных символов в переменной_2 со временем, которое пользователь потратил на чтение текущих символов. Если символов столько же (или приблизительно столько же), а времени потрачено на порядок больше - останавливаем таймер (пользователь не читает). Но точно время определить невозможно, по-моему. Т.к. пользователь может проскролить текст и сразу уйти пить чай, или прочитать половину текста. В этом случае приходится только догадываться, когда пользователь перестал читать текст, и когда начал. Хотя теоретически, можно таймер не останавливать вообще, и продолжать считать время. В этом случае проверяем сколько пользователь не скролил текст, и метку времени, когда начал скролить, т.е. логически можно предположить, что пользователь читал текст, и не дочитав до конца (в пределах скрола) - ушел по делам, вернулся - продолжил чтение. Тогда в таком случае сравниваем время простоя со средним временем чтения кол-ва символов, и отсекаем от времени простоя среднее время чтение, и получим фактическое время, когда пользователь отсутствовал (не читал текст). Примерно так. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить где юзер закрыл браузер | KLAXON | PHP | 13 | 11.02.2011 01:28 |
[PHP] Как узнать сколько прошло времени? | RESPECT8 | PHP | 1 | 24.10.2010 09:43 |
Сколько стоит такая программка? И сколько по времени её сделать? | Палыч I | Фриланс | 8 | 10.09.2010 16:23 |
Как определить сколько памяти у видеокарты | flug | Общие вопросы Delphi | 12 | 13.07.2010 08:13 |