浏览器刷新JavaScript对象中的值

我创建了一个JavaScript对象。

var myObj = {}; 

现在,当用户使用应用程序时,我们会为此对象分配一些值。

 myObj['Name'] = 'Mr. Gates'; myObj['Age'] = 58; ... ... ... myObj['Role'] = 'CEO'; 

但是每当页面刷新时,对象就会丢失其值。

是否有任何方法使用HTML 5 \或任何其他技术在页面刷新期间保留这些值。

是的,您有两个主要选择:

  1. 使用cookie。 Cookie很容易通过JavaScript 设置 ,但阅读时有点痛苦。 你说过你正在使用jQuery; 有几个jQuery插件可以让cookie更容易,如果你搜索“jquery cookie插件”,你会发现它们。

  2. 使用所有主流浏览器支持的 网络存储 ,甚至是IE8 。 您有两个选择:“会话”存储仅持续此“会话”,“本地”存储一直存在,直到用户清除它或浏览器决定它需要该空间用于其他内容。

第二个选项非常容易使用,您可以使用JSON格式的字符串存储内容( 所有主要浏览器也支持 JSON对象):

存储您的对象:

 localStorage.yourObject = JSON.stringify(obj); 

检索对象(例如,在页面加载时)或空白对象(如果没有存储):

 obj = JSON.parse(localStorage.yourObject || "{}"); 

在上文中, localStorage是浏览器为本地存储提供的变量(和底层实现)。 如果您想要会话存储,则可以使用sessionStorage

这是一个完整的本地存储示例: Live Copy

      Local Storage