js实现自动下载功能

来源:互联网 发布:广东淘宝加工 编辑:程序博客网 时间:2024/05/16 01:37

根据用户的需求,要在页面加载的时候根据页面内一个a标签的href下载内容到用户本地。这个功能比较流氓,后来通过沟通取消这个功能。在网上找到一些资料,下面把实现方面记录一下。

 要使用以下的代码,必须使用IE浏览器,将安全级别调至"中"
 对未标记为可安全执行脚本的ActiveX空间初始化并执行脚本      启用 (删除功能需要使用)
 通过域访问数据源                                           启用 (写入功能需要使用)

otagsA = document.getElementById("表格ID").getElementsByTagName("a");     //获得表格内的所有a标签
    for (i = 0; i < otagsA.length; i++) {
        var bool = otagsA[i].href.indexOf("gw");                                                                 //遍历所有a标签,如果a标签href中包含gw执行下面方法
        if(bool>0){
getXML(otagsA[i].href);
}
    }
var xh;
function getXML(geturl)
{
    xh = new ActiveXObject("Microsoft.XMLHTTP");
    xh.onreadystatechange = getReady;
    xh.open("GET",geturl,true);                    
    xh.send();                         
}


function getReady()
{
    alert(xh.readyState);
    if(xh.readyState==4)
    {
        if(xh.status==200){
            saveFile("d:\gwScratchFile.gw");                                                        //这里用户定义文件储存到用户本地的位置                                         
            return true;
        }
        else
        {return false;}
    }
    else
        return false;
}


function saveFile(tofile)
{
    var objStream;
    var imgs;
    imgs = xh.responseBody; 
    objStream = new ActiveXObject("ADODB.Stream");
    objStream.Type = 1;
    objStream.open();
    objStream.write(imgs);
    objStream.SaveToFile(tofile)
}
function downloadFile(url) {
            var elemIF = document.createElement("iframe");
            elemIF.src = url;
            elemIF.style.display = "none";
            document.body.appendChild(elemIF);
        }

1 0