다른 창을 열 수있는 Electron 앱이 있습니다.메인 프로세스에서 전자로 프로세스를 렌더링하는 매개 변수를 전달하는 방법
앱을 실행하면 앱에서 동일한 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 : // 경로가 작동하지 않습니다. 전자 문서 나 인터넷의 다른 곳에서 렌더링 된 윈도우를 param으로 처리하는 명확한 해결책을 찾을 수 없습니다.
윈도우 준비가 끝난 후 IPC 통신을 사용할 수는 있지만, 단지 자식 뷰에 변수를 전달하기 전까지는 조금 복잡해 보입니다.
P. : 내 애플리케이션이 React/Redux로 만들어졌고 솔직하게 전달하고자하는 param이이 뷰를 수신 대기하는 redux 스토어 키입니다.
'file : //'경로에있는 매개 변수 (및 해시)를 전달하면 잘 작동합니다. 모든 매개 변수는 예상대로 '위치'에 있습니다. – Fozi
파일에 대해이 매개 변수화 된 URL 개념을 사용하지 않을 것입니다. HTTP 서버에서이 매개 변수화 된 URL 개념을 제공하면됩니다. 대신 다른 일을 할 수 있습니다. 쿠키를 사용하여 처음부터 읽으십시오. 또는 win1.webContents.executeJavaScript ("var query = {id : 1}") ... 적어도 하나의 라이너 만 사용하십시오 –
두 답변 모두 거래를했다고 생각합니다. – damien