Javascript IE 9下本地存储的无限大小?
我刚刚重新编写了HTML5持久存储(localStorage)容量的测试(前一个测试在内存中创建了1个键,所以它属于内存异常)。我还为它创建了JSFIDLE: 测试代码是一个循环:Javascript IE 9下本地存储的无限大小?,javascript,html,internet-explorer-9,local-storage,Javascript,Html,Internet Explorer 9,Local Storage,我刚刚重新编写了HTML5持久存储(localStorage)容量的测试(前一个测试在内存中创建了1个键,所以它属于内存异常)。我还为它创建了JSFIDLE: 测试代码是一个循环: var value = new Array(10001).join("a") var i = 1 var task = function() { localStorage['key_'+i] = value $("#stored").text(i*10) i
var value = new Array(10001).join("a")
var i = 1
var task = function() {
localStorage['key_'+i] = value
$("#stored").text(i*10)
i++
setTimeout(task)
}
task()
与其他浏览器不同,IE9下的本地存储容量几乎是无限的——我已经成功存储了超过4亿个字符,测试还在运行
这是我可以信赖的功能吗?我正在编写内联网使用的应用程序,其中将使用的浏览器是IE9 对此的简单回答:否:) 不要把自己画成一个角落。Web存储并不意味着存储大量的数据。该标准只推荐5 mb,一些浏览器实现了这一点,而其他浏览器则更少(考虑到每个字符占用2个字节,您在感知上只能得到其中的一半) Opera允许用户调整大小(12个分支,不知道基于webkit的新版本),但这完全是用户发起的操作 就存储空间而言,它不是一个可靠的存储器。至于IE9,必须将其视为临时缺陷
如果您需要大的空间考虑(您可以请求用户批准的配额为兆兆字节)或代替。
简单的答案是:<强>否<强>:
不要把自己画成一个角落。Web存储并不意味着存储大量的数据。该标准只推荐5 mb,一些浏览器实现了这一点,而其他浏览器则更少(考虑到每个字符占用2个字节,您在感知上只能得到其中的一半) Opera允许用户调整大小(12个分支,不知道基于webkit的新版本),但这完全是用户发起的操作 就存储空间而言,它不是一个可靠的存储器。至于IE9,必须将其视为临时缺陷如果你需要大的空间考虑(你可以请求用户批准的配额为兆兆字节)或者代替。
你真的需要它吗?为什么不使用HTML5API,比如?老实说,滥用浏览器漏洞,只在单一版本的MS产品上运行,这绝非一个好主意。10年后,它将像那些现在只能在IE6上运行的应用一样。你真的需要它吗?为什么不使用HTML5API,比如?老实说,滥用浏览器漏洞,只在单一版本的MS产品上运行,这绝非一个好主意。10年后,它将像那些现在只能在IE6中运行的应用一样。