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)
    //---------------------------------------------------------------------------

时间: 2024-08-12 19:24:05

JS实现网页下载[转]的相关文章

&lt;&lt;&lt; JS实现网页批量下载文件,支持PC/手机

//把下载链接放入集合里 var downloadData = new Array{"http://www.empli.com/data1.apk","http://www.empli.com/data1.apk","http://www.empli.com/data1.apk","http://www.empli.com/data1.apk"}; var downloadNum=0;//方法执行次数 circularWind

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

JS改写系列教程: 1.MD5加密改写教程(爱拍网登录)2.解密如何快速找到真确的js加密算法3.多重MD5加密改写教程(5173登录)4.DZ论坛登录加密改写5.唯品会手机登录加密改写6.新浪微博密码加密改写7.迅雷登录JS加密改写8.QQ会员签到g_tk算法分析9.QQ快捷登录分析 网页操作教程: 1.了解网页操作的基本分类和定义2.了解抓包工具3.用IE自带的抓包工具进行抓包4.httpwatch的安装和使用5.利用网页填表实现简单的百度搜索功能6.利用post实现简单的百度搜索功能7.利

用js在网页上完成倒计时3秒后自动跳转到另一个页面

<body> <div id="time"></div> <a href="#" onclick="stop()">停止</a> <script type="text/javascript"> var i=3; function changeTime(){ document.getElementById("time").innerHTM

神奇的go语言(网页下载)

[ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 目前,网上关于网页爬行的代码很多.但是,自从看了go语言的web下载代码之后,我才发现原来它的网页下载代码才是最简单的.不信的话,大家可以看一下, package main import( "fmt" "log" "net/http" "os" ) func main(){ resp,err:=http.Get("

JS获取网页中HTML元素的几种方法分析

getElementById getElementsByName getElementsByTagName 大概介绍 getElementById ,getElementsByName ,getElementsByTagName ###adv### 后两个是得到集合,byid只是得到单个对象 getElementById 的用法 举个例子: <a id="link1" name="link1" href=http://homepage.yesky.com>

js获取网页的各种高度

网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth网页正文全文高: document.body.scrollHeight网页被卷去的高: document.body.sc

用 python 实现一个多线程网页下载器

今天上来分享一下昨天实现的一个多线程网页下载器. 这是一个有着真实需求的实现,我的用途是拿它来通过 HTTP 方式向服务器提交游戏数据.把它放上来也是想大家帮忙挑刺,找找 bug,让它工作得更好. keywords:python,http,multi-threads,thread,threading,httplib,urllib,urllib2,Queue,http pool,httppool 废话少说,上源码: 1 # -*- coding:utf-8 -*- 2 import urllib,

JS获取网页宽高方法集合

JS获取网页宽高等方法的集合:document.body.clientWidth - 网页可见区域宽document.body.clientHeight - 网页可见区域高 document.body.offsetWidth - 网页可见区域宽,包括边线和滚动条的宽document.body.offsetHeight - 网页可见区域高,包括边线和滚动条的高[FF,chrom下是整个页面高,IE opera 下正常] document.body.scrollWidth - 网页总宽documen

html5 websocket + node.js 实现网页聊天室

1 client:    socket.io server:   node.js +  express  + socket.io 一个简单的聊天室  demo,没有注册,内置了一些测试用户 2 client 关键代码 var socket = io.connect('http://localhost:8080'); socket.on('connect',function(){ console.log('connected to server'); socket.on('login succes