2017-02-09 17 views
-1

Мой сайт имеет следующие функции: каждый пользователь может загружать фотографии и делиться ими с другими людьми. Теперь я хочу добавить что-то рядом с изображениями, которые показывают время просмотра изображений (как здесь, мы можем видеть, сколько раз каждый вопрос просматривал). Я делаю это: всякий раз, когда изображение было визуализировано, увеличивайте время просмотра в базе данных. Но проблема заключается в том, что пользователь может приходить и обновлять страницу снова и снова, что не очень хорошо. Мне нужно сохранить некоторые данные от моих посетителей в моей базе данных, а затем проверить, просмотрели ли они их раньше или нет. Какие данные я должен сохранить от них? ф? печенье? что?Как узнать, сколько раз мои сообщения просматривали с помощью узла js?

ПРИМЕЧАНИЕ: данные, которые я хочу сохранить, должны быть уникальными. Например, если пользователь просматривает сообщение со своим компьютером, данные должны отличаться от данных, поступающих, если он просматривает его iPhone. Другими словами: каждое устройство должно отправлять уникальные данные.

Я очень ценю это, если вы можете мне помочь.

ответ

0

Я думаю, вы хотите обработать обновление страницы, не так ли? Поскольку пользователь может просматривать изображение каждые 10 минут или каждый час или каждый день. И вы бы посчитали это как представление соответствующего изображения. Теперь, имея какой-либо уникальный механизм идентификации, такой как ip или cookie или что-то еще, либо позволит вам добавить счет к изображению только один раз, либо вы можете выйти с другим механизмом для обработки этого случая.

Я бы просто предложил вам разрешить стороне клиента ограничивать вызовы на сервере в случае обновления страницы. Хотя нет информации о том, что именно вы используете на стороне клиента, но вы можете использовать window.onbeforeunload и $(window).unload(function() {});, чтобы поймать событие обновления страницы и ограничить вызов api в этом случае.

+0

Извините, я точно не понял, что вы имеете в виду. Вы сказали, что используйте window.onbeforeunload, но пользователь может прийти и просто нажать ctrl + r 20 раз и увеличить время просмотра до 20. Вы показываете мне код для этого? Я использую javascript, node и express. – Joseph

+0

Я хочу, чтобы мои просмотренные функции были такими же, как функция просмотра stackoverflow (например, вы можете видеть, что этот пост просмотрел 9 раз). – Joseph

+0

Вид увеличивается при обновлении страницы в stackoverflow. –

 Смежные вопросы

  • Нет связанных вопросов^_^