Electron은 QQ 음악 클라이언트-메인 프로세스 및 렌더링 프로세스 통신을 생산합니다.

灭绝师太
풀어 주다: 2021-08-30 17:43:05
원래의
2265명이 탐색했습니다.

Electron 기본 프로세스는 모든 웹 페이지와 해당 렌더링 프로세스를 관리하며, 렌더링 프로세스는 해당 웹 페이지만 관리할 수 있습니다. 한 렌더링 프로세스의 충돌은 다른 렌더링 프로세스에 영향을 미치지 않습니다.

Electron은 QQ 음악 클라이언트-메인 프로세스 및 렌더링 프로세스 통신을 생산합니다.

Electron에는 메인 프로세스와 렌더링 프로세스라는 두 가지 프로세스가 있습니다. ㅋㅋ . 각 BrowserWindow 인스턴스는 렌더링 프로세스 중에 웹 페이지를 실행합니다. BrowserWindow 인스턴스가 삭제되면 해당 렌더링 프로세스도 종료됩니다.

2. 기본 프로세스는 모든 웹 페이지와 해당 렌더링 프로세스를 관리합니다.染렌더링 프로세스

1. 렌더링 프로세스는 해당 웹페이지만 관리할 수 있습니다. 렌더링 프로세스를 축소해도 다른 렌더링 프로세스에는 영향을 미치지 않습니다.2. 렌더링 프로세스는 IPC를 통해 기본 프로세스와 통신하여 웹 페이지에서 GUI 작업을 수행합니다. 렌더러 프로세스에서 직접 로컬 GUI 관련 API를 호출하는 것은 보안 및 리소스 누수 가능성으로 인해 제한됩니다.

프로세스 간 통신은 IPC(프로세스 간 통신) 모듈인 ipcMain 및 ipcRenderer를 통해 수행할 수 있습니다.

창을 만들려면 BrowserWindow 클래스를 호출해야 하지만 기본 프로세스에서만 사용할 수 있습니다( main.js ):


const { BrowserWindow } = require('electron') const win = new BrowserWindow()
로그인 후 복사

렌더링 프로세스에서 기본 프로세스를 호출하려면 IPC 모듈을 사용하세요. 예를 들어 창 정화 모드에서 창 닫기 기능을 사용자 정의하세요.

1. 首先由主进程向渲染进程发送消息,告诉它窗口的id(开启了多个渲染进程);

win.once('ready-to-show', () => { win.webContents.send('init_win_id', win.id); win.show() });
로그인 후 복사

2. 在渲染进程接收winid,并在关闭窗口时发送给主进程

//渲染进程监听init_win_id事件(自定义),将winid赋给全局变量winid let winid = ''; require('electron').ipcRenderer.on('init_win_id', (event, message) => { winid = message; }) // 关闭窗体 function closex(){ //渲染进程里把窗口id发给主进程 const { ipcRenderer } = require('electron') ipcRenderer.send('close_window', winid); }
로그인 후 복사

3. 在主进程中接收需要关闭的渲染进程

// 主进程获取winid关闭窗体 ipcMain.on('close_window', (event, arg) => { //app.quit()单个窗口可以直接app.quit() //win.close(); // 1、接收渲染进程发来的窗口id let winid = arg; console.log(winid); // 2、通过id找到对应的BrowserWindow对象(win、win22),调用这个对象的close()关闭对应的窗口 BrowserWindow.fromId(winid).close(); })
로그인 후 복사

위 내용은 Electron은 QQ 음악 클라이언트-메인 프로세스 및 렌더링 프로세스 통신을 생산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!