2012-03-29 8 views
2

ChromeでローカルFSを利用しようとしています。 私が最初にやることは、ファイルシステムのクォータを要求することです。 以下のコードはChromeを確認するために一度しか動作しませんでした。 その後、このコードは何もしません。アラートは表示されません。 このコードで何が問題になっていますか?Chrome webkitStorageInfo.requestQuota

ユーザーが fsizeクォータへのアクセスを許可していたら
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;  
window.webkitStorageInfo.requestQuota( 
      window.PERSISTENT, 
      fsize, 
      function(bytes) { 
       alert("Quota is available: " + bytes); 
      }, 
      function(e) { 
       alert("Error allocating quota: " + e); 
      } 

); 
+0

'window.requestFileSystem.requestQuota ...'ではなく、 'window.webkitStorageInfo.requestQuota ...'を使うべきです。そうでなければ、最初の行は無意味です;-)。 – Nux

+0

それを傷つける。このような状況では、最初の行は無意味です。 'window.storageInfo = window.storageInfo ||を試したいかもしれませんが。 window.webkitStorageInfo; 'を呼び出し、他のブラウザでエラーが発生しないように' if'で呼び出しをラップします。 – Nux

答えて

3

、ブラウザがそれらを求めるプロンプトは表示されません。 成功したコールバックは情報バーなしで呼び出されます。 (テスト用)をもう一度表示する唯一の方法は、より大きなfsizeを要求することです。

また、設定で[閲覧データを消去]を試して、それがリセットされるかどうかを確認することもできます。アプリ内のストレージをテストしているとき、あなたはあなたのアプリケーションに新たクォータ管理をテストすることができるように格納されたデータを消去する場合があります

をテストするためのクォータをリセット

0

:。

「ユーザーが許可を与えた後、(アプリのクォータを増やしたい場合を除き)、将来的にrequestQuota()をコールする必要はありません以降の呼び出しそれ以下のクォータはノープです。 "

NB:これは、不要なクォータをアプリが解放する方法がないことを意味します。