Cordova XMLHTTPRequestによるピクチャのロードの問題

843 ワード

プロジェクトでXMLHTTPRequest方式を使用してピクチャをロードするとロードに失敗し、深く掘り下げた後、Cordova(Ionicの最下位プラットフォームの1つ)が要求をローカル(file://)リソースに制限し、すべての外部要求が失敗したことが根本的な原因であることがわかりました.githubでは、この問題を解決するライブラリが提供されています.https://github.com/oracle/cordova-plugin-wkwebview-file-xhr
このプラグインは、次の問題を解決することで、CordovaアプリケーションでWKWebViewを使用するパフォーマンスのメリットを得ることができます.
1.WKWebViewのデフォルトの動作は、ファイル・プロトコル-「file://」を使用してプライマリ・パッケージからファイルをロードしたときにクロスソース・例外が発生します.Webビューの現在の場所に「ファイル」プロトコルがあり、XMLHttpRequestに渡されるオープンメソッドのターゲットURLが相対的である場合、このプラグインはローカルコードでファイルをロードすることでこの欠陥を解決します.セキュリティ対策として、プラグインは、ターゲットURLの標準化パスがアプリケーションのメインパッケージの「www」フォルダにあるかどうかを検証します.
2.アプリケーションの開始ページはデバイスのファイルシステムからロードされるため、リモートエンドポイントへのXHR要求はすべてソース間であると考えられる.このような要求に対して、WKWebViewは「null」をOriginヘッダの値として指定し、空の値の原点からの要求のエンドポイント拒否を禁止するように構成される.このプラグインは、元のヘッダが除外されるローカルレイヤのすべてのリモートリクエストを処理することによって、この問題を解決します.