var download=function(urlInfo)
{
when(createFile(localFileName))
.then(function (fileInfo)
{
var downloaded = function (downloadInfo)
{
vueThis.cacheStatus = "downloaded";
vueThis.downloadProgress = 100;
weui.toast("Cache is done");
fileInfo.fileWriter.onwriteend = function ()
{
var mainPlayer = document.getElementById("mainPlayer");
var prevTime = mainPlayer.currentTime;
mainPlayer.src = fileInfo.fileEntry.toURL();
mainPlayer.currentTime = prevTime;
mainPlayer.play();
vueThis.cacheStatus = "playOffline";
vueThis.downloadProgress = 100;
weui.toast("Offline playing");
};
fileInfo.fileWriter.write(downloadInfo.blob);
}; vueThis.cacheStatus = "downloading";
vueThis.cacheMessage = 'Total ' + (urlInfo.size / (1024 * 2014)).toFixed(2) + 'MB';
var downloader = Downloader(vueThis.mediaUrl, urlInfo.mimeType, downloadOnProgress);
when(downloader).then(downloaded).otherwise(function (e) { console.log(e) });
});
};

  

function Downloader(url, mimeType, onProgressCallback)
{
var deferred = when.defer();
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
//if url is from other domains,
//Cors settings of that domain is required
//the settings is as following
//Access-Control-Allow-Origin *.youzack.com;
//Access - Control - Allow - Methods GET;
//Access - Control - Expose - Headers Content - Type, Content - Length;
xhr.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.response != null) {
var size = parseInt(this.response.byteLength);
var blob = new Blob([new Uint8Array(this.response)], {type: mimeType});
var ret = {'size' : size,'blob' : blob};
deferred.resolve(ret);
}
}
};
xhr.onprogress = function(e) {
if(onProgressCallback)
{
onProgressCallback(e);
}
};
xhr.responseType = 'arraybuffer';
xhr.send();
return deferred.promise;
};

在谷歌中缓存下载视频离线观看,js代码的更多相关文章

  1. html5 video标签屏蔽右键视频另存为的js代码-HTML5教程

    点评:html5 video标签本身有下载功能但是在video区域内,点击右键可以将“视频另存为”下面是屏蔽右键视频另存为的js代码,有此需求的朋友不要错过   做HTML5的video标签,本身我们 ...

  2. 如何在 js 代码中使用 jsp 标签或 Java 代码

    JSP 标签还是很方便的,比如 Struts.Spring 等提供给我们的 JSP 标签,可以用它们来获取变量或进行一些计算.比如 struts2 的 <s:url value="/a ...

  3. 喜迎Win10周年版,芒果TV UWP完善手机视频离线下载

    喜迎Win10周年版更新,湖南卫视旗下唯一官方视频平台<芒果TV>近日向Win10商店提交了芒果TV UWP V3.1.0版,这次不仅在上一版(V3.0.0)的基础上完善了用户呼声最高的手 ...

  4. 不安装谷歌市场,下载谷歌市场中的APK

    不安装谷歌市场,下载谷歌市场中的APK GooglePlayStore 是谷歌官方的的应用市场,有的时候还是需要从谷歌市场下载APK文件.国内的安卓手机厂商都不自带GooglePlay,甚至一些手机& ...

  5. IDM下载器使用方法详解:百度网盘下载,视频会员一网打尽!

    一. IDM的设置 [01]IDM插件与各大浏览器的集成 默认情况下,在成功安装IDM后,直接点击这里的选项,会弹出[常规设置],一般情况下直接保持默认的配置即可,如果你使用的是比较小众的浏览器,你可 ...

  6. 本地缓存下载文件,download的二次封装

    来源:http://ask.dcloud.net.cn/article/524 源码下载链接 说明: (1)由于平时项目中大量用到了附件下载等功能,所以就花了一个时间,把plus的downlaod进行 ...

  7. 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...

  8. bilibili动画下载视频批量改名(python)

    bilib应用 在微软商店中下载哔哩哔哩动画,虽然软件UI古老,但是贵在稳定和支持下载 安装以后搜索自己想要的视频,然后缓存下载 下载后进入下载的路径 视频文件重命名 打开自动命令的程序或者py脚本, ...

  9. 使用you-get下载视频网站视频或其他

    使用you-get下载视频网站视频或其他 文/玄魂 目录 使用you-get下载视频网站视频或其他 前言 1.1 下载.安装 依赖 exe安装 pip安装 Antigen安装 Git 克隆源码 Hom ...

随机推荐

  1. 算法笔记--可撤销并查集 && 可持久化并查集

    可撤销并查集模板: struct UFS { stack<pair<int*, int>> stk; int fa[N], rnk[N]; inline void init(i ...

  2. Linux 误卸载自带python后的解决办法

    1:卸载python(以免有些同学没有卸载干净) rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps #强制删除已安装程序及其关联 wher ...

  3. 基于JQ的记忆翻牌游戏

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  4. Spring Bean装配(下)——注解

    @Repository,@Service,@Controller这三个注解是基于component定义的注解 component-scan:组件扫描 base-package:扫描这个下的所有类 &l ...

  5. 「ZJOI2014」力 FFT

    FFTl裸题,小于的部分直接做,大于的部分倒序后再做就行了. #include <bits/stdc++.h> using namespace std; const int MAXN = ...

  6. 9、Spring Boot 2.x 集成 Thymeleaf

    1.9 Spring Boot 2.x 集成 Thymeleaf 完整源码: Spring-Boot-Demos 1.9.1 在pom中引入依赖 <dependency> <grou ...

  7. js 获取窗口大小

     //获得窗口大小         function findDimensions() //函数:获取尺寸         {             var point = {};          ...

  8. 003_linuxC++之_namespace使用

    (一)引入namespace原因: 假如有很多跟人共同完成一项工程,工程中难免会有函数定义一样的名称,不可能一个一个的询问这个函数 你定义过了没有,所以引入namespace #include < ...

  9. Visual Studio Code:以十六进制格式显示文件内容

    造冰箱的大熊猫@cnblogs 2019/9/4 发现Visual Studio Code很好用,无论是作为源代码编辑器还是文本编辑器在Win平台下用的都很不错.但有时候需要以十六进制格式查看数据文件 ...

  10. 在Android中使用OpenGL ES开发第(四)节:相机预览

    笔者之前写了三篇Android中使用OpenGL ES入门级的文章,从OpenGL ES的相关概念出发,分析了利用OpenGL ES实现3D绘图的重要的两个步骤:定义形状和绘制形状,简单的绘制了一个三 ...