質問: お世話になります。 monacaで、Crosswalkプラグインを入れた状態で、 サーバと通信すると、下記エラーが出てしまいました。 (できれば)サーバ側で何も設定すること無く、 正常に通信をする方法はありますでしょうか。 ===[エラー内容]=== XMLHttpRequest cannot load . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'file://' is therefore not allowed access.
回答: 残念ながら、Crosswalkプラグインの仕様上、サーバー側に ``` Access-Control-Allow-Origin: file:// ``` や ``` Access-Control-Allow-Origin: * ``` の設定がないと、このエラーが出てしまうと思います。 ビルドしたアプリでは、アプリのコード領域にindex.htmlがあるのでこのエラーが出ない のですが、Monacaデバッガーでは書き換え可能なファイル領域にindex.htmlがあるため、 このエラーを避けられません。 この問題を解決するには、Crosswalkプラグイン側を改修する必要があります。試しに改修 したものを に用意しました。標準のCrosswalkプラグインを外して、こちらのプラグインを組み込み、 カスタムビルド版デバッガーを作成すれば、カスタムビルド版デバッガー上ではエラーが出ず にサーバー通信を行うことが出来るようになります。 また、この改修は何らかの形で、次期Monacaデバッガー(6.0.x系)に取り込む予定です。