我有7张图片。我想使用javascript随机向不同的用户显示不同的图像。但一旦显示,它就不应该改变

时间:2014-10-14 01:28:21

标签: javascript

我尝试使用用户计算机的IP地址但我意识到所有计算机的公共IP地址在特定网络中是相同的。但是我想在我的大学网络中向不同的用户显示不同的图像。没有用户的登录信息,所以我可以用什么来用javascript来唯一地识别用户或用户的计算机。

由于

3 个答案:

答案 0 :(得分:0)

您可以尝试会话或Cookie但如果您在Javascript中使用客户端,则无法保证它不会更改,或者他们不会使用其他浏览器。

如果Flash可用,Flash Cookie可能是一种可能的跨浏览器方法。见How do I uniquely identify computers visiting my web site?

答案 1 :(得分:0)

已经提到设置cookie,所以我提供了另一种可能性。

您可以使用用户的分辨率/浏览器/设置/等作为输入尝试某种散列函数。这不是一种万无一失的方式,但输入中的微小变化将导致不同的哈希值。

答案 2 :(得分:0)

有两种选择:使用cookie(合理的现代浏览器有其他方法,如Web Storage,但它们相同),或指纹浏览器(例如{{3} })。每个都有利有弊:

曲奇

您需要做的就是在第一次访问时生成psuedorandom数字并将其存储在cookie中。 Cookie可以长时间保持不变,直到用户手动删除cookie,重新创建其浏览器配置文件等,此时图像可能会更改,但用户可以合理地期望在执行其中一个时看到一些更改动作。有些用户可能完全阻止你的cookie - 这只意味着他们都会得到相同的图像。有一些法律规定了cookie的使用,特别是在欧洲,所以如果您还没有使用过,而且您的网站在欧洲很受欢迎,您可能需要添加免责声明。

指纹

通过查询屏幕分辨率,安装的插件,软件版本等内容创建指纹,然后散列结果以生成标识系统的短数字/字符串 - 您只需要将该标识符转换为1之间的数字7.当这些参数中的任何参数发生变化时,该值将发生变化,但不受清洁cookie的影响,也不受某些地区要求披露cookie使用的相同法律的影响(可能还有其他法律规定使用浏览器指纹识别)。