0

我想要一个单例对象,其值在多个页面的多个事件中发生变化。该对象用于绑定各个页面的ui。

我有一个“main.js”文件:

var obj = { flag : false } ;

 // call back method
 function click() { 
  obj.flag = true;
  }

在我的 next.js 文件中

 // call back method
  function click() { 
  alert(obj.flag); // **alerts false** . It should alert **true** instead.
  }

除了使用 window.name 属性之外,还有其他方法可以保留该值吗?还是我采用了错误的方法

4

1 回答 1

1

您可以使用HTML5 localStorage。如文档(SafariMozilla等)中所述,localStorage 支持字符串键/值对。

因此,您需要使用JSON.stringify将对象保存在存储中。

var obj = { flag : false };

// Save the object in the storage
localStorage.setItem('obj', JSON.stringify(obj));

// Get the object from storage
var objectData = localStorage.getItem('obj');
var originalObject = JSON.parse(objectData );

alert(originalObject.flag);

请参阅以下小提琴:http: //jsfiddle.net/FdhzU/

于 2013-10-12T06:11:57.770 回答