私は別のウィンドウを開くことができる電子アプリを持っています。電子のプロセスをレンダリングするメインプロセスのパラメータを渡す方法
アプリ起動時に、アプリは(同じHTMLとJSファイルを読み込む)一連のウィンドウを開きますが、paramsを使用すると、表示された各ウィンドウを変更することができます。
例:ファイル内
app.on('ready', async() => {
...
// open window for stuff 1
win1 = new BrowserWindow({
width: 1024,
height: 728
});
win1.loadURL(`file://${__dirname}/app/app.html?id=1`);
// open window for stuff 2
win2 = new BrowserWindow({
width: 1024,
height: 728
});
win2.loadURL(`file://${__dirname}/app/app.html?id=2`);
明らかに渡すのparams://パスは動作しません。 私はレンダリングされたウィンドウをパラメータにするために、電子ドキュメントやインターネット上のどこかに明確な解決策を見つけることができません。
私はおそらくウィンドウの準備ができてからIPC通信を使用することができますが、ちょっと変わったようです。
P.S. :私のアプリケーションがReact/Reduxで構築されていることを正直に言うと、私が見たいと思うparamは、このビューを聞くためのreduxストアキーです。
'file://'パスにあるパラメータ(とハッシュ)を渡すと、うまく動作します。すべてのパラメータは、期待通りに 'location'にあります。 – Fozi
HTTPサーバーでそれらを提供する場合は、このパラメーター化されたURLの概念をファイルに使用しません。代わりに、あなたはさまざまなことをすることができます。クッキーを使用し、開始時にそれらを読む。または、単にwin1.webContents.executeJavaScript( "var query = {id:1}")を使用してください...少なくとも1つのライナーです –
私は両方の答えが取引をしたと思います。 – damien