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实现网页下载[转]的更多相关文章

  1. Ifvisible.js – 判断网页中的用户是闲置还是活动状态

    ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...

  2. 【软件编程】乐易贵宾VIP教程 - JS改写+网页操作系列教程

    JS改写系列教程: 1.MD5加密改写教程(爱拍网登录)2.解密如何快速找到真确的js加密算法3.多重MD5加密改写教程(5173登录)4.DZ论坛登录加密改写5.唯品会手机登录加密改写6.新浪微博密 ...

  3. JS弹出下载对话框以及实现常见文件类型的下载

    写在前面 JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能. ...

  4. 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...

  5. html+css+js实现网页拼图游戏

    代码地址如下:http://www.demodashi.com/demo/14449.html 项目描述 使用 html+js+css 实现一个网页拼图游戏,可支持简单,中等,困难三种难度. 演示效果 ...

  6. 一款基于TweenMax.js的网页幻灯片

    之前介绍了好多网页幻灯片.今天给大家带来一款基于TweenMax.js的网页幻灯片.这款幻灯片以不规则的碎片百叶窗的形式切换.切换效果非常漂亮.一起看下效果图: 在线预览   源码下载 实现的代码. ...

  7. Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页

    Python3.x:Selenium+PhantomJS爬取带Ajax.Js的网页 前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但 ...

  8. 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以 ...

  9. Node.js 动态网页爬取 PhantomJS 使用入门(转)

    Node.js 动态网页爬取 PhantomJS 使用入门 原创NeverSettle101 发布于2017-03-24 09:34:45 阅读数 8309  收藏 展开 版权声明:本文为 winte ...

随机推荐

  1. hibernate动态创建数据库表名几种方式

    数据库中数据量很大, 但又不可以删除时同时又要优化程序检索数据时间. 答:方式有很多比如 创建数据库表分区,创建索引, 存储过程等; 我这里采用动态创建数据库表的方式. 完全可以在不创建表分区情况下实 ...

  2. Real-Time Rendering 3 彩图

    电子版只有黑白图,彩图见官网链接:http://www.realtimerendering.com/book.html.虽然只有部分彩图,不过够用了,下面是其中几幅图,如果只能看黑白的,那得多蛋疼:

  3. tar 解压缩命令

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

  4. CSS3新的字体尺寸单位rem

    CSS3引入新的字体尺寸单位 rem ,可以简单记忆为root rm. CSS3的出现,他同时引进了一些新的单位,包括我们今天所说的rem.在W3C官网上 是这样描述rem的——“font size ...

  5. [cc150] check palindrome of a singly linked list

    Problem: Implement a function to check if a singly linked list is a palindrome. 思路: 最简单的方法是 Reverse ...

  6. hdu 1176

    简单DP  类似于在一个矩形中求最长路径 /************************************************************************* > ...

  7. hdu 1760 A New Tetris Game 博弈论

    找sg值,可以选择暴力,也可以利用sg值的特点简化. 暴力就跟取石子一样,没什么差别,DFS搞定.把矩阵看成一个字符串,字符串就是一个状态. 其实我们也可以不暴力求sg值,因为只要当前状态能到达一个s ...

  8. poj 2454 Jersey Politics 随机化

    随机化算法+贪心! 将3*k排序后分成3分,将第二第三份的和分别加起来,让和与500*k比较,都大于则输出,否则,随机生成2个数,在第二第三份中交换! 代码如下: #include<iostre ...

  9. http://blog.csdn.net/majian_1987/article/details/44939911

    http://blog.csdn.net/majian_1987/article/details/44939911

  10. HeadFirst设计模式之适配器模式

    一. 1. 2.The Adapter Pattern converts the interface of a class into another interface the clients exp ...