内容目录
一,说明
electron 不像浏览器会带下载管理,electron 页面调用下载的话,无法感知下载进度,我这里偷懒,直接丢给默认浏览器下载。
二,代码
one_plugin_ui.webContents.session.on("will-download", (event, item, webContents)=>{
let url = item.getURL()
item.cancel()
shell.openExternal(url);
webContents.loadFile("download.html")
})
- one_plugin:electron的 windows
- win-download:触发下载事件
- item.cancel():取消electron默认下载逻辑
- shell.openExternal:调用默认程序(浏览器)打开url
- webContents.loadFile:加载自己定义下载界面【因为点击文件下载,会弹出新的窗口,默认是空白的,为了体验好一点,我增加一个提示下载的页面】
- item: 对应的electron的对象 downloaditem