我目前正在研究一个严重依赖JavaScript并且使用node.js作为后端的聊天。我希望尽可能在JavaScript中进行操作(如果可能的话,甚至可能根本没有PHP)。我遇到的其中一个问题是如何保持网站的状态。当用户点击联系人时,通信内容将从服务器获取。使用JavaScript处理网站的状态
你会建议如何保存当前显示的联系人的ID。锚?变量?曲奇饼?
我目前正在研究一个严重依赖JavaScript并且使用node.js作为后端的聊天。我希望尽可能在JavaScript中进行操作(如果可能的话,甚至可能根本没有PHP)。我遇到的其中一个问题是如何保持网站的状态。当用户点击联系人时,通信内容将从服务器获取。使用JavaScript处理网站的状态
你会建议如何保存当前显示的联系人的ID。锚?变量?曲奇饼?
Cookie用于您网站的相对长期使用,特别是当您想保留一些客户端数据(这些数据是针对手头用户量身定制的(并且不会危害您的系统))。所以,当他(或她)重新访问你的网站时,就会像他们离开它一样 - 没有你在数据库中存储不必要的每用户数据。因此,从定义,这是一个不适用于Cookie。
您的问题,更多的是一种即时使用性质的 - 你与当前显示的联系人的ID工作,这也许是最适合的变量(从提供的),或者甚至是DOM - 为jfriend00指出。
而且,作为一般性建议,确实需要考虑标准安全影响和代码。
快乐编码!
如果您在页面的持续时间内只需要这个状态,那么就没有理由使用cookie。加上cookie在大小和数量上都有所限制。
因此,无论您是要将数据保存在JavaScript变量中,还是只将其放入DOM中,并在需要时直接在DOM中访问它,都取决于您。我倾向于在JavaScript变量中保留高层次的东西以使其能够快速执行未来的任务,但是如果数据在DOM中,则无法通过存储在DOM和JS变量中来复制大量数据。
但是,最后,它取决于它是什么类型的数据,已经存储在DOM中的内容,未来访问您需要的数据的类型以及您正在采取的操作。我们需要更多地了解您正在做什么的细节,以便为您的具体情况提供更具体的建议。
在这3个选项之间,我建议将存储在变量中。这里的原因:
id
到<a>
锚标记),而共同的,打破了干净的编码惯例。它让你头痛,因为我通过经验学到了东西。使用变量或其他持久数据存储(即localStorage
)是更好的方式来存储您的数据。如果您正在寻找一种在JavaScript应用程序中组织数据和视图的好方法,请查看Backbone.js框架。