electron自动化,webview中通过a标签跳过弹框自动下载文件
renderer.js代码
webview.stop:需要通过stop才可阻止下载弹框
然后调用electron自带的插件去下载,downloadFile
webview.addEventListener('will-navigate', (e) => {if(status == 'downIng'){window.electronAPI.downloadFile(e.url,(aaaId||'testAaaId'),(companyName||'测试公司'))status = "downEnd"e.preventDefault(); // 阻止默认webview.stop() // 阻止跳转}
})
preload.js代码
注册下载事件
const { contextBridge, ipcRenderer } = require('electron/renderer')
contextBridge.exposeInMainWorld('electronAPI', {downloadFile: (url,aaaId,companyName) => ipcRenderer.send('download-file', url,aaaId,companyName)
})
index.js代码
ipcMain.on('download-file', async (event, url, aaaId, companyName) => {mainWindow.webContents.downloadURL(url);
})