简单介绍下需求,跟上次的帖子一样,需要重写video标签的进度栏的样式,当然也包括重写下载方法,调用原生video标签下载视频的时候,浏览器会弹出下载进度条。

其实下载常用的可能利用a标签,创建一个请求就可以实现下载,但是这种下载方法死活出不来进度,可能方法使用的不对,如有好的方法可以提示我~

先看下什么时原生进度条吧

下图为调用原生时候,浏览器的下载进度提示。谷歌可能再底部出现,展示用的是Edge浏览器

展示下自定义下载方法后的效果,点击黄色下载按钮后浏览器的展示效果,除了重新自定义了视频的名称,效果跟原生的下载效果一致。

实现方式是利用StreamSaver.js插件,页面引入后

使用 window.streamSaver.createWriteStream();方法,创建写入视频流

具体代码如下

// 视频下载,可以调用浏览器下载的进度条load() {const video = this.$refs.video; // video标签const url = video.src;return fetch(url, {method: 'GET',cache: 'no-cache'}).then(res => {const fileStream = window.streamSaver.createWriteStream('test.mp4', {size: res.headers.get("content-length")})const readableStream = res.bodyif (window.WritableStream && readableStream.pipeTo) {return readableStream.pipeTo(fileStream).then(() => console.log('done writing'))}window.writer = fileStream.getWriter();const reader = res.body.getReader();const pump = () => reader.read().then(res => res.done ? window.writer.close() : window.writer.write(res.value).then(pump));pump();})}

另付上次帖子的内容☞video全屏操作栏自定义样式&&js 指定元素全屏&&视频截图下载_video全屏自定义控制_小菜花29的博客-CSDN博客

video 视频下载,调用浏览器的下载进度方法相关推荐

  1. apiCloud app调用浏览器打开网页的方法

    在APP调用浏览器有两种方法: 1.使用openApp 2.使用openWin 两种方法调用浏览器后的效果有一点不同: 1.使用openApp调用浏览器后,如果手机内有多个浏览器,会首先弹出选择浏览器 ...

  2. app调用浏览器打开网页的方法 apicloud

    在APP调用浏览器有两种方法: 1.使用openApp 2.使用openWin 两种方法调用浏览器后的效果有一点不同: 1.使用openApp调用浏览器后,如果手机内有多个浏览器,会首先弹出选择浏览器 ...

  3. js调用浏览器的下载框

    function openDownload(url) {let d = new Date().getTime();let saveName=d+"."+ url.replace(/ ...

  4. 火狐linux 32位,火狐浏览器32位电脑版下载,火狐浏览器官方下载最新版电脑版32位 v1.0 - 浏览器家园...

    火狐浏览器32位电脑版是款非常优秀的网上浏览工具.火狐浏览器(firefox)是唯一一款自由的浏览器,您可以根据自己喜好,选择添加自己需要的功能,打造专属自己的个性浏览器,同时软件也是为用户提供了最快 ...

  5. 搜索引擎looka_Alook浏览器iOS版app下载_Alook浏览器苹果版下载v5.1_3DM手游

    <Alook浏览器>是一款能带给你全新的上网浏览快感的手机app,在这款软件中你不仅能体验到2倍速上网的别样快感,还可以让你在这款软件中享受到极简的软件操作哟! 软件详情 1.Alook不 ...

  6. video视频标签怎么禁止用户拖动进度条快进

    昨天经理给我一个需求 , 让我查一下h5播放视频怎么禁止用户快进, 然后刚刚搜了下, 实现了出来,代码如下 , 效果就是我点进度条想快进的话 , 会强制退回去, 这样用户就不能快进了 <body ...

  7. Java实现minio文件流下载文件,浏览器不下载

    在我写完minio下载功能时,浏览器怎么也不执行下载,纯纯没反应,只返回了流给前端.就在百思不得其解时,突然去翻看之前前端写的下载代码请求,此时发现之前用的是Windows.open(url),现在不 ...

  8. python selenium 实现在火狐浏览器上下载文件(涉及firefox下载文件相关的配置)

    在这个案例中最重要也是我花了主要精力解决的问题就是火狐浏览器下载文件时会自动弹出下载弹框的这个问题. 解决这个问题可以参照以下步骤(本次案例中要下载的文件格式为dotx文件,如果有其他格式的文件要修改 ...

  9. 火狐下载 firefox免费高速下载 firefox又出新版本了

    火狐下载 Firefox浏览器免费下载 火狐下载,地址: <script type="text/javascript"> google_ad_client = &quo ...

最新文章

  1. 2.JS执行上下文和变量对象
  2. 语义分割--End-to-End Instance Segmentation with Recurrent Attention
  3. Windows Server 2012 之配置AD DS
  4. centos 6.4 /var/log/secure 不记录日志的問題
  5. 一些很有用的技术工具
  6. MongoDB入门简单介绍
  7. 第1次作业:这是我的一个响亮的标题X!
  8. setjump, longjump学习
  9. (NO.00004)iOS实现打砖块游戏(八):游戏中小球与砖块的碰撞
  10. 新版本的Selenium 4 Alpha会有什么期望?
  11. Redis面试 - 如何保证缓存与数据库的双写一致性?
  12. 4s测试电池的软件,只需4步,不去4S店不要专业设备,你也能测出动力电池的容量...
  13. CEF使用的几个注意点
  14. python 下载文件-python实现下载文件的三种方法_python
  15. 查看job运行时间,以便不影响生产数据库正常运行
  16. LeetCode6 Z字形变换
  17. NODE.JS对接验证码短信接口DEMO示例
  18. ApiPost使用教程
  19. 普通代码签名证书和EV代码签名证书的区别
  20. P5.js创意自画像编程

热门文章

  1. Jmeter压力测试笔记(十三)
  2. 【T+】T+cloud更换激活手机号(更换企业管理员)
  3. 从小红书app开启逆向之旅(2)
  4. Linux建立软连接
  5. Mybatis一对多分页查询问题
  6. MFC 使用D3D库进行播放视频,编译存在很多重定义及相关结构体找不到定义的问题
  7. 【SIFT,FPGA】基于FPGA的图片sift算法,图像的配准融合在上位机上实现
  8. 【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey
  9. 灵活用工平台有哪些?从事灵活用工岗位靠谱吗?
  10. 计算机word文例试题及答案,2016年职称计算机考试WPS_Office模拟试题及答案1