[auto-download-app] 如何使用 javascript 实现 app 自动下载

// 在访客跳转进入的页面中,执行下面使用下面 invoke function 
(function(){ var str_downloadUrl = "<!--{$apkUrl}-->"; var str_scheme = "hinabian://openwith"; if($.os.iphone) { str_downloadUrl = "http://a.app.qq.com/o/simple.jsp?pkgname=com.hinabian.migrate"; str_scheme = ""; } function openApp() { location.href = str_downloadUrl; /* var e = document.createElement("iframe"); e.style.cssText = "width:1px;height:1px;position:fixed;top:0;left:0;"; e.src = str_scheme; document.body.appendChild(e); startTime = (new Date).valueOf(); setTimeout(function () { var endTime = (new Date).valueOf(); if (1550 > endTime - startTime) { location.href = str_downloadUrl; } }, 1500); */ } $("#id_download_btn").click(openApp); setTimeout(function(){ openApp(); } , 1000); })();

 

转载于:https://www.cnblogs.com/shuman/p/5109099.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用`will-download`事件,您需要在主进程中为`webContents`对象添加一个事件监听器。以下是一个基本示例: ```javascript const { app, BrowserWindow } = require('electron') app.on('ready', () => { const mainWindow = new BrowserWindow() mainWindow.webContents.session.on('will-download', (event, item, webContents) => { // 在这里添加您的代码来处理下载。 }) }) ``` 在此示例中,我们为应用程序的会话添加了一个`will-download`事件侦听器。当下载开始时,此事件将被触发并传递给您三个参数:事件对象本身,下载项对象和相关的`webContents`对象。您可以使用这些参数来访问和控制下载的各个方面。在事件处理程序中,您可以编写代码来显示下载进度条,提示用户确认下载或执行任何其他自定义操作。 以下是一个更详细的示例,它演示了如何使用`will-download`事件来显示下载进度条: ```javascript const { app, BrowserWindow } = require('electron') app.on('ready', () => { const mainWindow = new BrowserWindow() mainWindow.webContents.session.on('will-download', (event, item, webContents) => { // 设置保存路径,否则该项将被保存到默认位置。 item.setSavePath('/path/to/save/file') // 显示一个下载进度条。 let progressBar = new ProgressBar({ text: 'Downloading file...', detail: 'Please wait...', browserWindow: { webContents: webContents, parent: mainWindow }, style: { text: {}, detail: {}, bar: { background: '#3CB371', width: '100%' } }, closeOnComplete: true }) // 监听下载过程中的事件。 item.on('updated', (event, state) => { if (state === 'interrupted') { // 下载已中断 progressBar.close() } else if (state === 'progressing') { if (item.isPaused()) { // 下载已暂停 progressBar.detail = 'Download paused.' progressBar.setCompleted(item.getReceivedBytes()) } else { // 显示下载进度 progressBar.detail = `Received ${item.getReceivedBytes()} bytes out of ${item.getTotalBytes()}` progressBar.value = item.getReceivedBytes() / item.getTotalBytes() } } }) // 监听下载完成事件。 item.once('done', (event, state) => { if (state === 'completed') { // 下载已完成 progressBar.detail = 'Download complete.' } else { // 下载失败 progressBar.detail = `Download failed: ${state}` } }) }) }) ``` 在此示例中,我们使用了一个第三方库`electron-progressbar`来创建下载进度条。我们首先在`will-download`事件处理程序中设置文件的保存路径,然后创建并显示进度条。我们还使用`item`对象上的`updated`和`done`事件来监听下载的不同状态,并更新进度条的显示。在下载完成后,我们关闭进度条并显示适当的消息。 希望这个例子能帮助您更好地理解如何使用`will-download`事件来自定义您的Electron应用程序的下载行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值