IE7中不支持本地存储

时间:2014-07-26 07:00:58

标签: javascript html5 internet-explorer-7

目前我正在使用本地存储来保存我在主页中获得的数组,并且我想在其他页面中使用相同的数组。但事实证明,ie7不支持本地存储,我的应用程序需要支持IE7。

如果没有本地存储,我有什么方法可以做到吗?

在主页:

exec cgi="GetOptions"

// This CGI returns an array which looks something like this
 var opts = new Array("0", "1", "0", "1", "1", "0", "0", "0", "1", "1", "1", "1", "1", 
 "1", "0", "0", "1");

localStorage.setItem("opts", JSON.stringify(opts));

在内容页面中:

var opts = JSON.parse( localStorage.getItem("opts") );

任何帮助将不胜感激..提前致谢

2 个答案:

答案 0 :(得分:1)

  

如果没有本地存储,我有什么方法可以做到吗?

本地存储的前身是cookie。但是我们现在拥有本地存储是有原因的:Cookie会在每次请求时发送到服务器(用于图像,样式表等),容量有限,并且在JavaScript中使用真的很痛苦。

您可以直接使用Cookie,也可以搜索“本地存储polyfill”以查找提供localStorage的多个选项 - 例如使用Cookie进行底层存储的解决方案。

Cookie的大小限制因浏览器而异;对于IE7,它是4096字节(用于存储密钥和值;您不能使用所有这些,其中一些用于开销 - 存储过期信息,域等)。

答案 1 :(得分:0)

LocalStorage使用密钥:值系统。但是,您可以使用JSON.Stringify&amp ;;在一个密钥中保存多个数据。 JSON.parse。

对于IE Localstorage,你必须使用polyfill: -

https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills