1

已经有很多关于 jQuery cookie 弹出窗口的问题,因此无需详细介绍该功能。我想知道的是,这是否是 jQuery 只能为每个用户处理一次弹出窗口或每个用户基于时间的弹出窗口的唯一方法。即当用户第一次访问该站点时弹出加载,然后一周内不再加载。

我知道有 IP 验证,但是 jQuery 可以进行 IP 验证吗?如果可以,你能指出我的资源吗?我在这里搜索了 jQuery 弹出 IP 验证,但到目前为止我还没有找到任何东西。

4

3 回答 3

4

我已经说过无数次了,我再说一遍:IP 是一种数据传递机制,而不是一种识别或身份验证工具。IP 不保证以任何方式唯一或稳定,并且完全不适合在一台机器上识别单个用户。

您需要以某种方式在用户的机器上存储一个标识符,以便为该特定用户记住他做了什么或没做什么。cookie 是最明显的答案,本地存储、WebDB、Flash cookie 等是备选的后备方案。

于 2013-07-10T18:13:37.353 回答
1

我必须同意 deceze,例如考虑到一家公司可以使用单个 IP,而 10 多台计算机通过该 IP 地址连接到网络。因此,如果员工访问您的网站,其他 9 人将不会看到您的弹出窗口,因为具有相同 IP 的人已经访问了您的网站。

但无论这是否是正确的方法,为了回答你的问题,我遇到了这个 SO 答案:

如何使用 jQuery 获取客户端 IP 地址

获得访问者 IP 地址看起来相对容易,即使您应该考虑以这种方式依赖第三方。

于 2013-07-10T18:29:44.770 回答
0

这更多地与了解 Web 浏览器的工作方式有关,而与 JQuery 的关系不大。您需要的是一种识别用户的方法。最简单、最准确的方法是使用 cookie。只有用户才能拥有的东西。另外,您正在尝试在客户端执行此操作。javascript 跨请求持久化数据的唯一方法是通过 cookie,对于某些浏览器来说,Html 5 数据持久性结构(如 IndexedDB)。

如果您可以在服务器上编程,您可以尝试进行 IP 查找,但您可能会为多个设备获得一个标识符,这些设备可以是多个用户。这是因为多人使用同一个 IP 是很常见的(想想有多少设备连接到您的家庭路由器)。您可以通过使用用户代理的 http 标头值来获得更准确的信息。这些值不能通过 javascript 访问。

它可以帮助您更好地了解 http 请求和响应的方式。

于 2013-07-10T18:30:30.600 回答