2012-04-09 39 views
-1

我目前正在研究一个严重依赖JavaScript并且使用node.js作为后端的聊天。我希望尽可能在JavaScript中进行操作(如果可能的话,甚至可能根本没有PHP)。我遇到的其中一个问题是如何保持网站的状态。当用户点击联系人时,通信内容将从服务器获取。使用JavaScript处理网站的状态

你会建议如何保存当前显示的联系人的ID。锚?变量?曲奇饼?

回答

1

Cookie用于您网站的相对长期使用,特别是当您想保留一些客户端数据(这些数据是针对手头用户量身定制的(并且不会危害您的系统))。所以,当他(或她)重新访问你的网站时,就会像他们离开它一样 - 没有你在数据库中存储不必要的每用户数据。因此,从定义,这是一个不适用于Cookie。

您的问题,更多的是一种即时使用性质的 - 你与当前显示的联系人的ID工作,这也许是最适合的变量(从提供的),或者甚至是DOM - 为jfriend00指出。

而且,作为一般性建议,确实需要考虑标准安全影响和代码。

快乐编码!

0

如果您在页面的持续时间内只需要这个状态,那么就没有理由使用cookie。加上cookie在大小和数量上都有所限制。

因此,无论您是要将数据保存在JavaScript变量中,还是只将其放入DOM中,并在需要时直接在DOM中访问它,都取决于您。我倾向于在JavaScript变量中保留高层次的东西以使其能够快速执行未来的任务,但是如果数据在DOM中,则无法通过存储在DOM和JS变量中来复制大量数据。

但是,最后,它取决于它是什么类型的数据,已经存储在DOM中的内容,未来访问您需要的数据的类型以及您正在采取的操作。我们需要更多地了解您正在做什么的细节,以便为您的具体情况提供更具体的建议。

0

在这3个选项之间,我建议将存储在变量中。这里的原因:

  • Cookies是不普通的JavaScript方便,至少在没有加入一些自定义功能
  • 搭售数据视图(即id<a>锚标记),而共同的,打破了干净的编码惯例。它让你头痛,因为我通过经验学到了东西。

使用变量或其他持久数据存储(即localStorage)是更好的方式来存储您的数据。如果您正在寻找一种在JavaScript应用程序中组织数据和视图的好方法,请查看Backbone.js框架。