0

我正在写一个页面来测试 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

4

2 回答 2

1

localStorage.remainingSpace会告诉你可以存储多少字节。

编辑:在更一般的情况下,试试这个:

blablaantal = 1048576;
data = new Array(blablaantal+1).join("x");
于 2013-11-15T11:20:39.447 回答
0

是的,我几年前玩过,看看是否能找到一种安全、高效的方法来在所有浏览器中测试它。我没有。我当时取得的最好成绩是在这里:

https://github.com/nbubna/store/blob/master/src/store.measure.js

作为我的 store2.js 包装器的插件。它会比你的方法工作得更快,但有时它仍然会崩溃/冻结。虽然,我已经有几年没有尝试过了,但情况可能会更好,或者,我想,更糟。

于 2013-11-15T15:20:24.533 回答