hagino3000's blog

平成アーカイブス (更新停止)

Firefox 3 のglobalStorageの容量は3MBちょい?

DOM Storageというか、FirefoxのglobalStorage*1を使ったグリモンを書いているので、保存できるデータサイズの限界がどれだけなのか調べてみた。

テストコード*2

window.localStorage = window.localStorage || window.globalStorage[location.hostname];

localStorage.test = '';

(function(){

  var stringArr = [];
  // 50byte刻みでテストするための文字列
  var seed = '12345678901234567890123456789012345678901234567890';

  // 3.0MByte〜3.5MByteが限界っぽいので、その辺りのサイズをテスト
  for(var i=0; i<65000; i++){
    stringArr.push(seed);
  }

  var testProp;

  while(stringArr.length > 0){

    testProp = stringArr.join('');
    try{
    
      localStorage.test = testProp;
      
      // 格納できたらサイズを表示してbreak
      print(testProp.length);
      break;

    }catch(e){
      // Persistent storage maximum size reached
    }

    // 格納できなかったら50byte減らしてリトライ
    stringArr.shift();
  }
})();

localStorage.test = '';

結果

3242850

3MByteちょっとかー。
っていうかこのテストコードであってるんでしょうか??間違ってたらつっこみお願いします。