JS实现网页下载[转]
function downloadById() {
var url = "http://localhost:64610/WorkProcess/ResumeDetail/7";
new FileDownloader({
url: encodeURI(url),
filename: "resume.html"
});
}
(function (e) {
"use strict";
function r(e, t, n) {
var r = function () {
n.apply(e, arguments)
};
if (e.addEventListener) {
e.addEventListener(t, r, false)
} else {
e.attachEvent("on" + t, r)
}
return r
}
function i(e, t) {
var n = arguments.length > 2 ? Array.prototype.slice.call(arguments, 1) : [];
var r;
for (var s = 0; s < n.length; s++) {
r = n[s];
for (var o in r) {
if (typeof r[o] === "object") {
e[o] = i({}, r[o])
} else if (o != null && r.hasOwnProperty(o) && typeof r[o] !== "undefined") {
e[o] = r[o]
}
}
}
return e
}
function s(t, n) {
var r = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
r.download = t;
r.href = URL.createObjectURL(n);
var i = document.createEvent("MouseEvents");
i.initMouseEvent("click", true, true, e, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
r.dispatchEvent(i)
}
function o(e, t, n) {
var r;
t = t || "GET";
if (window.XMLHttpRequest) {
r = new XMLHttpRequest
} else {
r = new ActiveXObject("Microsoft.XMLHTTP")
}
r.open(t, e, true);
r.responseType = "blob";
r.onreadystatechange = function () {
if (r.readyState == r.DONE) {
if (n) n.call(r, r.response)
}
};
r.send();
return r
}
var t = {
url: "",
filename: "",
type: "GET",
progress: function () { },
done: function () { }
};
var n = function (e) {
function h(e) {
var t = e.total;
var r = e.loaded;
var i = r / t;
var s = (new Date).getTime();
var o = (s - l) / 1e3;
var u = r - c;
var a = u / o;
c = r;
l = s;
e.per = i;
e.speed = a;
n.progress.call(f, e)
}
function p(e) {
var t = n.done();
if (typeof t === "boolean" && !t) return t;
s(a, e)
}
var n = i({}, t, e);
var u = n.url;
var a = n.filename;
var f = o(u, n.type, p);
var l = (new Date).getTime();
var c = 0;
r(f, "progress", h)
};
e.FileDownloader = n
})(window)
//---------------------------------------------------------------------------
JS实现网页下载[转]的更多相关文章
- Ifvisible.js – 判断网页中的用户是闲置还是活动状态
ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...
- 【软件编程】乐易贵宾VIP教程 - JS改写+网页操作系列教程
JS改写系列教程: 1.MD5加密改写教程(爱拍网登录)2.解密如何快速找到真确的js加密算法3.多重MD5加密改写教程(5173登录)4.DZ论坛登录加密改写5.唯品会手机登录加密改写6.新浪微博密 ...
- JS弹出下载对话框以及实现常见文件类型的下载
写在前面 JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能. ...
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...
- html+css+js实现网页拼图游戏
代码地址如下:http://www.demodashi.com/demo/14449.html 项目描述 使用 html+js+css 实现一个网页拼图游戏,可支持简单,中等,困难三种难度. 演示效果 ...
- 一款基于TweenMax.js的网页幻灯片
之前介绍了好多网页幻灯片.今天给大家带来一款基于TweenMax.js的网页幻灯片.这款幻灯片以不规则的碎片百叶窗的形式切换.切换效果非常漂亮.一起看下效果图: 在线预览 源码下载 实现的代码. ...
- Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页
Python3.x:Selenium+PhantomJS爬取带Ajax.Js的网页 前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但 ...
- 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以 ...
- Node.js 动态网页爬取 PhantomJS 使用入门(转)
Node.js 动态网页爬取 PhantomJS 使用入门 原创NeverSettle101 发布于2017-03-24 09:34:45 阅读数 8309 收藏 展开 版权声明:本文为 winte ...
随机推荐
- python学习笔记15(面向对象编程)
虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程. 一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界 ...
- java程序练习:猜字母
猜字母程序=数据结构+算法 首先:定义数据结构1.找名词Input:输入变量Output:输出变量隐含:找到隐含的变量,如字符串 其次:定义算法,程序的处理 最后:按照顺序,逐步实现 注意:1.基本数 ...
- Visual Studio 中TODO List的使用
http://msdn.microsoft.com/en-us/library/txtwdysk.aspx 工欲善其事,必先利其器 When the Task List is open, you ca ...
- C#学习笔记(三)
1.我们在Main()函数中,调用Test()函数,我们管Main()函数称之为调用者,管Test()函数称之为被调用者.如果被调用者想要得到调用者的值:1).传递参数.2).使用静态字段来模拟全局变 ...
- Matlab中bsxfun和unique函数解析
一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-b ...
- Educational Codeforces Round 11
A. Co-prime Array http://codeforces.com/contest/660/problem/A 题意:给出一段序列,插进一些数,使新的数列两两成互质数,求插最少的个数,并输 ...
- HDU 1494 跑跑卡丁车 (DP)
题目链接 题意 : 中文题不详述. 思路 : sum = L*N 段,每走过一段如果不用加速卡的话,能量会增20%,将20%看作1,也就是说每涨到15就要变为10,所以最多是14才不浪费. dp[i] ...
- codeforces #305 A Mike and Frog
挺简单的题目,但是有一堆恶心的边界 在刨去恶心的边界之后: 假定我们知道两边的循环节为b1,b2 其中h第一次到达目标的时间为a1,a2 又知道对于答案t t=a1+b1*t1=a2+b2*t2 不妨 ...
- 【转】windows c++获取文件信息——_stat函数的使用
_stat函数的功能 _stat函数用来获取指定路径的文件或者文件夹的信息. 函数声明 int _stat( const char *path, struct _stat *buffer ); 参数: ...
- IOS - IOS之同步请求、异步请求、GET请求、POST请求
1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...