【问题标题】:Reading cookie and using jQuery to display data读取cookie并使用jQuery显示数据
【发布时间】:2012-01-20 23:17:37
【问题描述】:

这就是想法。

我正在编写一个聊天栏,一切正常。但我的问题是在浏览整个站点的页面时保持一切连续。我的意思是,聊天框保持打开状态。就像 Facebook 一样,每次打开聊天框然后导航到不同的页面时,它都会保持打开状态,您无需返回在线好友列表并加载聊天框。

到目前为止我做了什么?

我想到的一种方法是使用 cookie 将对话的 ID 存储在 cookie 中,并放置它是打开还是关闭。因此,如果会话的 ID 为 64,则创建一个名为 chat_64 的 cookie。我正在使用这个 jQuery cookie 文档:https://github.com/carhartl/jquery-cookie

我在想这可以通过将它们放入一个数组中来完成,然后为每个 cookie 打开一个聊天框。

我是来询问如何做到这一点的建议?

【问题讨论】:

  • 您也可以使用 php 会话。向设置变量的 php 页面发送 ajax 调用。
  • 你认为这会更容易吗?
  • 我认为不会更难,但我确实认为会更好。请参阅 alfa64 的答案。您无法完全控制 cookie,它们受客户端条件的约束。 PHP 会话将更加可靠。

标签: javascript jquery cookies livechat


【解决方案1】:

不要将此类信息存储在 cookie 中,请在服务器中使用会话。这对隐私来说是一个很大的风险。 存储会话数据或使用数据库,通过调用从数据库中获取当前聊天的 php(例如)脚本,一个附加功能是,如果用户注销然后再次登录,聊天可以保持不变. 表格可能是这样的:

chat_id |用户 ID | chatting_with_id |时间戳

当用户关闭聊天窗口时,您可以设置用户重新打开窗口的时间限制,如果他/她没有,则发送该行的删除请求。

【讨论】:

  • 好吧听起来很棒,我只想尽可能减少请求。作为聊天栏或任何聊天系统,真的可以杀死你的服务器。
  • 数据没有变通办法,你只需要传输这些东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-02
  • 1970-01-01
  • 2012-10-12
  • 2011-06-29
  • 1970-01-01
  • 2016-08-10
  • 2023-04-01
相关资源
最近更新 更多