Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跨页面缓存客户端代码结果_Javascript_Jquery_Caching_Cookies_Local Storage - Fatal编程技术网

Javascript 跨页面缓存客户端代码结果

Javascript 跨页面缓存客户端代码结果,javascript,jquery,caching,cookies,local-storage,Javascript,Jquery,Caching,Cookies,Local Storage,在我们的应用程序中,我们使用JavaScript/jQuery绘制导航组件,由于授权,这涉及复杂的逻辑 几乎所有经过身份验证的页面都需要导航组件,因此每当用户从一个页面导航到另一个页面时,复杂的逻辑都会在每个页面上重复 我相信在特定情况下,这种复杂计算的结果在一定时期内不会改变,因此我认为在这些情况下,没有必要重新计算 所以我想在浏览器/客户端存储/缓存结果。我觉得其中一个解决方案是创建一个带有结果的cookie 如果这是一个好方法,我需要建议。如果没有,我还能在这里做些什么?最好您可以尝试HT

在我们的应用程序中,我们使用JavaScript/jQuery绘制导航组件,由于授权,这涉及复杂的逻辑

几乎所有经过身份验证的页面都需要导航组件,因此每当用户从一个页面导航到另一个页面时,复杂的逻辑都会在每个页面上重复

我相信在特定情况下,这种复杂计算的结果在一定时期内不会改变,因此我认为在这些情况下,没有必要重新计算

所以我想在浏览器/客户端存储/缓存结果。我觉得其中一个解决方案是创建一个带有结果的cookie


如果这是一个好方法,我需要建议。如果没有,我还能在这里做些什么?

最好您可以尝试HTML 5本地存储或Web SQL,您可以在其中使用更多选项。与本地存储相比,Web SQL支持非常少。看看这个


如果你能依靠现代浏览器,HTML5网络浏览器选项是一个不错的选择

引述

使用客户端存储有几个原因。首先,你可以 让你的应用程序在用户离线时工作,可能是同步数据 网络重新连接后返回。第二,这是一场表演 助推器;只要用户需要,您就可以显示大量数据 点击你的网站,而不是等待它再次下载。 第三,它是一种更简单的编程模型,没有服务器基础设施 必修的。当然,数据更容易受到攻击,用户无法 从多个客户端访问它,因此您应该仅将其用于 非关键数据,特别是缓存版本的数据 “在云端”。参见“离线”:这是什么意思?我为什么要这样做 照顾有关脱机技术的一般性讨论,其中 客户端存储是一个组件

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');
}