1

app.js に次のコードがあります。

function onInitFs(fs) {
    aGlobalFsRoot = fs.root;
    console.log('04Position');
    alert("Welcome to Filesystem! It's showtime :)"+fs); // Just to check if everything is OK :)
}

function openFS() {
navigator.webkitPersistentStorage.requestQuota (1*1024*1024, function(grantedBytes) {
  console.log ('test1');
  reqFS(grantedBytes);
}, errorHandler);
}

function reqFS(grantedBytes) {
  window.webkitRequestFileSystem(window.PERSISTENT, grantedBytes, function(fs) {
    console.log ('test2');
    alert("Welcome to Filesystem! It's showtime :)"+fs); // Just to check if everything is OK :)
  }, errorHandler);
}

function errorHandler(e) {
  var msg = '';

  switch (e.code) {
    case FileError.QUOTA_EXCEEDED_ERR:
      msg = 'QUOTA_EXCEEDED_ERR'+e;
      break;
    case FileError.NOT_FOUND_ERR:
      msg = 'NOT_FOUND_ERR'+e;
      break;
    case FileError.SECURITY_ERR:
      msg = 'SECURITY_ERR z.B. Speicherplatz wurde abgelehnt.'+e;
      break;
    case FileError.INVALID_MODIFICATION_ERR:
      msg = 'INVALID_MODIFICATION_ERR'+e;
      break;
    case FileError.INVALID_STATE_ERR:
      msg = 'INVALID_STATE_ERR'+e;
      break;
    default:
      msg = 'Unknown Error'+e;
      break;
  };

  console.log('Error: ' + msg);
}

openFS はページロード時に呼び出されます。コードはこのトピックに基づいています (新しいバージョンの chrome でも動作しないようです)。私はそれを働かせることができません。常に errorHandler が呼び出されます。ファイルシステムがすでに存在するかどうかは関係ありません。クォータは機能しているようです。

2 つの異なるコンソール ログを取得します。

  1. アクセスがユーザーによって許可された場合:

    エラー: 不明なエラー[オブジェクト DOMError] app.js:81

  2. ユーザーがアクセスを拒否した場合:

    test1 app.js:45 エラー: SECURITY_ERR zB Speicherplatz wurde abgelehnt.[object FileError] app.js:81

誰かがこれを機能させましたか?

4

1 に答える 1

0

このスレッドに来るすべての人にとって...この解決策は機能します。問題はクッキーに関するものでした。新しくインストールされたchrome 30では、これでうまくいきます。

于 2013-11-20T12:42:09.087 に答える