問題を説明するのは簡単ですが、その質問に対する答えをまだ見つけることができませんでした。
次のコードでは、すべて正常に動作します。テキストをコンソールに記録するコールバック メソッドが呼び出され、ファイル システムの準備が整ったことを意味します。
しかし:メソッド呼び出しの直後に alert()-Box を追加するとすぐにrequestQuota()
、コールバック メソッドは呼び出されません (handleError コールバック メソッドも呼び出されません)。
(これは、FileApi をサポートする唯一のブラウザーであるため、Google Chrome でのみ表示されます。)
私にとっては、後でブロッキングアラートステートメントを追加すると、Google Chrome がそのコールバックメソッドへのハンドルを失うようです。しかし、それは本当にすべきではありません!?! それとも別の理由がありますか?
// Note: The file system has been prefixed as of Google Chrome 12:
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
//ask for permission
window.webkitStorageInfo.requestQuota(PERSISTENT, SIZEINBYTES, function(grantedBytes) {
window.requestFileSystem(PERSISTENT, grantedBytes, function(fileSystem){
console.log("Callback method: The file system for chrome is ready.");
}, handleError);
}, handleError);
//Add: alert("requested."); --> Callback method isn't called...