我前段时间正好写过electron的下载,正常的electron实现下载是怎样的呢?
先要说下electron的ipc通信,ipcMain,ipcRenderer
electron内主进程和渲染进程是通过ipc通信的
主进程(main.js)定义 监控 函数
ipcMain.on('download', (evt, args) => {
let url = JSON.parse(args);
downloadUrl = url.downloadUrl;
saveUrl = url.saveUrl;
mainWindow.webContents.downloadURL(downloadUrl);
});
渲染进程(页面)调用ipcRenderer来触发
ipcRenderer.send('download', JSON.stringify({
downloadUrl: `${ipURL()}${url}`,
saveUrl: result[0]
}));
这样就可以触发主进程的下载动作,至于下载动作是怎样的我就不写了,官方上都有,
如果向阻止electron只要把main.js里的
ipcMain.on('download', (evt, args) => {
let url = JSON.parse(args);
downloadUrl = url.downloadUrl;
saveUrl = url.saveUrl;
//mainWindow.webContents.downloadURL(downloadUrl);
});
注释掉就行了
当然每个人的写法可能不一样,但是都是通过ipc从渲染进程发送给主进程的,找到主进程里开始下载的动作,关掉就可以了