2017-02-09 82 views
-1

我的网站具有以下功能:每个用户都可以上传图片并与其他人分享。现在我想在显示图片浏览次数的图片旁边添加一些内容(就像我们可以在这里看到每个问题观看过多少次一样)。 我这样做: 每当一张图片被渲染时,增加数据库中的浏览次数。但问题在于,用户可以一遍又一遍刷新页面,这是不好的。我必须将访问者的一些数据保存到我的数据库,然后检查他们之前是否查看过它。我应该从他们那里保存哪些数据? IP?曲奇饼?什么?如何知道我的帖子使用节点js查看了多少次?

注:我要保存应该是唯一的数据。例如,如果用户使用他的电脑查看帖子,数据应该与他用iPhone查看的数据不同。换句话说,每个设备都应该发送唯一的数据。

我真的很感激,如果你能帮助我。

回答

0

我猜你只是要处理的页面刷新,对不对?因为用户可能每隔10分钟或每小时或每天查看图像。而且,您可以将其作为相应图像的视图。现在,拥有诸如ip或cookie之类的任何唯一标识机制将允许您只向图像添加一次计数,或者您可以使用另一种机制来处理这种情况。

我只会建议你允许客户端限制刷新页面的情况下调用服务器。虽然没有提供关于你正在使用在客户端什么信息,但你可以使用window.onbeforeunload$(window).unload(function() {});赶上页面刷新事件,并限制在这种情况下,API调用。

+0

对不起,我并没有完全得到你的意思。你说过使用window.onbeforeunload,但用户可以过来,只需按ctrl + r 20次,并将浏览次数增加到20次。你会告诉我这个代码吗?我使用JavaScript,节点和快递。 – Joseph

+0

我希望我的查看功能与stackoverflow查看功能一样(例如,您可以看到此帖已经查看了9次)。 – Joseph

+0

该视图在页面刷新上增加了stackoverflow。 –

相关问题