我正在编写一个页面来测试localStorage和sessionStorage可以在浏览器中保存多少数据。
它有点工作但是浏览器没有响应,并且进程条/文本没有逐步更新,但大部分时间都是在最后或者无响应的对话框出现时。
如果我创建一个非常大的字符串,则无法响应的原因之一。
blablaantal might be 1048576 to create a string with 1048576 x-charachers.
data = '';
for (i = 0; i < blablaantal; i++) {
data += 'x';
}
代码和演示:http://netkoder.dk/netkoder/eksempler/eksempel0008.html
答案 0 :(得分:1)
localStorage.remainingSpace
会告诉您可以存储的字节数。
编辑:在更一般的情况下,试试这个:
blablaantal = 1048576;
data = new Array(blablaantal+1).join("x");
答案 1 :(得分:0)
是的,我在几年前玩过,看看我是否能找到一种安全,高效的方式在所有浏览器中测试它。我没有。我当时取得的最好成绩是:
https://github.com/nbubna/store/blob/master/src/store.measure.js
作为store2.js包装器的插件。它的工作速度比你的方法快,但它有时会崩溃/冻结。虽然,我几年没有尝试过,事情可能会更好,或者,我想,情况会更糟。