6

Visual Studio 2017でcordovaアプリケーションを使用していますが、ファイルプラグインを使用してファイルシステムにアクセスしようとしています。残念ながら、これは 'Simulate in browser'(cordova-simulateを使用)を使用してアプリケーションをデバッグするときは機能しません。Cordova:VSからの--allow-file-access-from-filesでのクロムの起動

A 'SecurityError:特定のファイルがWebアプリケーション内でアクセスできない、またはファイルリソースで呼び出しが多すぎると判断されました。エラーが発生します。

クロムに '--allow-file-access-from-files'オプションを渡す必要があるかどうかはわかりますが、クロームが新しいウィンドウで自動的に起動され、 Visual Studioで任意の構成オプションを見つけます。

+0

@Colinこんにちはコマンドプロンプトで入力します。コマンド 'run - --target = chrome --port = 8000 --allow-file-from-files'を実行します。 '/platforms/browser/cordova'フォルダにある '実行'ファイルの詳細を見ることができます。それが助けてくれることを願って – Gandhi

答えて

2

一部Chrome Quirksは以下のとおりです。

  • クロームのファイルシステムは、デバイスreadyイベントの直後に準備ができていません。この問題を回避するには、filePluginIsReadyイベントを購読できます。 例: javascript window.addEventListener('filePluginIsReady', function(){ console.log('File plugin is ready');}, false);window.isFilePluginReadyRaised機能を使用すると、イベントが既に発生しているかどうかを確認できます。
  • window.requestFileSystem TEMPORARYおよびPERSISTENTファイルシステムのクォータは、Chromeでは制限されていません。
  • Chromeで永続ストレージを増やすには、window.initPersistentFileSystemメソッドを呼び出す必要があります。永続的なストレージクォータはデフォルトで5 MBです。
  • Chromeにはが必要です。file:///プロトコルでAPIをサポートするための引数を実行してください。
  • ファイル既存のEntryを取得するときに、フラグ{create:true}を使用すると、オブジェクトは変更されません。
  • の癖上記

フォームの基本的な手順here使用:あなたはコルドバCLIを使用してブラウザのプラットフォームを構築したら、 ' /プラットフォーム/ブラウザ/コルドバ' フォルダに移動しなきゃ、

At the time of writing this article, Google Chrome has the only working implementation of the FileSystem API. A dedicated browser UI does not yet exist for file/quota management. To store data on the user's system, may require your app to request quota . However, for testing, Chrome can be run with the --unlimited-quota-for-files flag. Furthermore, if you're building an app or extension for the Chrome Web Store, the unlimitedStorage manifest file permission can be used in place of requesting quota. Eventually, users will receive a permission dialog to grant, deny, or increase storage for an app.

You may need the --allow-file-access-from-files flag if you're debugging your app from file://. Not using these flags will result in a SECURITY_ERR or QUOTA_EXCEEDED_ERR FileError.

+0

はい。しかし、どのようにあなたはVS 2017からの--allow-file-access-from-fileでchromeを起動するのですか?このリンク先の質問も参照してくださいhttps://stackoverflow.com/questions/48100633/how-to-get-fileentry-object-while-using-cordova-simulate?noredirect=1&lq=1 – Colin

+0

@Colinそのタイプのchrome://バージョンをあなたのChromeのアドレスバーに入力すると、どの「コマンドライン」呼び出しを使用するべきかがわかります。 ** - allow-file-from-files **を追加するだけです。 – AsifAli72090

+0

ありがとうAsif、私はこれを試しました - コマンドラインに '--allow-file-access-from-files'と' --unlimited-quota-for-files'の両方を追加しましたが、 – Colin

関連する問題