【问题标题】:Testing localStorage/sessionStorage max data amount测试 localStorage/sessionStorage 最大数据量
【发布时间】:2013-11-15 23:20:24
【问题描述】:

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

【问题讨论】:

    标签: javascript local-storage session-storage


    【解决方案1】:

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

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

    blablaantal = 1048576;
    data = new Array(blablaantal+1).join("x");
    

    【讨论】:

    • localStorage.remainingSpace 似乎只存在于 Internet Explorer 中。
    • 嗯。所以 IE 有一些其他浏览器完全没有的非常有用的东西吗?让我想起了innerHTML...
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-10
      • 2017-11-30
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      • 2019-06-25
      • 2013-06-19
      • 2012-04-02
      • 1970-01-01
      相关资源
      最近更新 更多