Atom Shell (現在electronとして知られている) を使用して Web アプリケーションをデスクトップ アプリとしてラップしていますが、CORS の制限により、クロスドメインの ajax 呼び出しに問題があります。
また、nw.js (以前は Node-Webkit として知られていた) も試しましたが、クロスドメインの ajax 呼び出しを行うのに問題はありませんでした。Atom Shell (Electron) はデフォルトでクロスドメイン呼び出しを制限しますか?
Web ページが「file://」モードで読み込まれ、http サーバーによって処理されない場合、デフォルトで ajax 呼び出しを行うことができます。
それでも CORS の制限に問題がある場合は、このオプションを browser-window オブジェクトに設定できます。
var BrowserWindow = require('browser-window');
var win = new BrowserWindow({
webPreferences: { webSecurity: false }
});
ここには2つの問題があります
クライアントがリクエストを開始できないようにする CORS 制限と、サーバーによって設定される Access-Control-Allow-Origin ヘッダー。
最初の問題は、前述のように Browser-window オブジェクトに Web セキュリティ オプションを設定することで解決されます。
"webPreferences" : {
"webSecurity" : false
},
Electron がリクエストの Origin の値として実際に「file://」を送信する 2 番目の問題には、私が知る限り解決策がありません。オプションは、Access-Control-Allow-Origin ヘッダー (サーバー側) で「file://」または「*」を許可することです。
私は実際に、リクエストにオリジンを設定できるようにリクエストしましたが、あまり牽引力が得られないと思います。