在我们的应用程序中,我们使用JavaScript / jQuery绘制导航组件,并且由于授权,这涉及复杂的逻辑。
几乎所有经过身份验证的页面都需要导航组件,因此每当用户从一个页面导航到另一个页面时,每个页面都会重复复杂的逻辑。
我确信在特定情况下,这种复杂计算的结果在一段时间内不会改变,因此我认为在这些情况下不需要重新计算。
所以我想在浏览器/客户端存储/缓存结果。我觉得解决方案之一就是用结果创建 cookie 。
如果这是一个好方法我需要建议。如果没有,我还能在这做什么呢?
答案 0 :(得分:1)
最好能够尝试HTML 5本地存储或Web SQL,您可以在其中拥有更多选项。与本地存储相比,Web支持非常少。看看这个http://diveintohtml5.info/storage.html
答案 1 :(得分:1)
如果你可以依赖现代浏览器HTML 5 web strorage选项是一个不错的选择。
http://www.html5rocks.com/en/features/storage 从上面引用
使用客户端存储有几个原因。首先,你可以 当用户离线时,让您的应用程序工作,可能同步数据 网络再次连接后返回。其次,这是一种表现 助推器;您可以在用户尽快显示大量数据 点击您的网站,而不是等待它再次下载。 第三,它是一种更简单的编程模型,没有服务器基础设施 需要。当然,数据更容易受到攻击而用户不能 从多个客户端访问它,所以你应该只使用它 非关键数据,尤其是数据的缓存版本 “在云中”。请参阅“离线”:它是什么意思,我为什么要这样做 关心?关于离线技术的一般性讨论,其中 客户端存储是一个组件。
if(typeof(Storage)!=="undefined")
{
// this will store and retrieve key / value for the browser session
sessionStorage.setItem('your_key', 'your_value');
sessionStorage.getItem('your_key');
// this will store and retrieve key / value permanently for the domain
localStorage.setItem('your_key', 'your_value');
localStorage.getItem('your_key');
}