日期:2014-05-16  浏览次数:20331 次

js下载
第一步:设置IE
1.把网站加入到受信任站点
2.打开受信任站点的安全设置
3.设置“对没有标记为安全的ActiveX控件进行初始化和脚本运行”为启动
4.设置“跨域访问数据源”为启动

第二步:激活ADODB.Stream (上一步设置好后,还是没解决问题,才进行这一步)
1. 关闭所有打开的 Internet Explorer 浏览器窗口。
2. 单击“开始”,然后单击“运行”。
3. 在“打开”框中,键入 Regedit,然后单击“确定”。
4. 在注册表编辑器中,找到以下注册表项:
     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility
5. 右键单击“ActiveX Compatibility”,指向“新建”,然后单击“项”。
6. 为新项键入下面的名称(如果有的话,打开):{00000566-0000-0010-8000-00AA006D2EA4}
7. 右键单击此新项,指向“新建”,然后单击“DWORD 值”。将此值命名为 Compatibility Flags。如果有的话,不用新建了。
8. 在右窗格中,右键单击“Compatibility Flags”,然后单击“修改”。
9. 在“编辑 DWORD 值”对话框中,确保选中“十六进制”选项,在“数值数据”框中键入 0,然后单击“确定”。
10. 关闭注册表编辑器。

第三步:注册ADODB.Stream (上一步设置好后,还是没解决问题,才进行这一步)
regsvr32 C:\Program Files\Common Files\System\ado\msado15.dll

<%@ page language="java"  pageEncoding="UTF-8" isELIgnored="false"%>
<html> 
<head> 
    <title>js自动下载文件到本地</title> 
    <script language="javascript" type="text/javascript"> 
function InitAjax() 
{ 
	var ajax; 
	if(window.ActiveXObject){ 
	var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP']; 
	for(var i=0; i <versions.length; i++) { 
	try { 
		ajax = new ActiveXObject(versions[i]); 
	if(ajax) { 
		return ajax; 
	} 
	} catch(e) {} 
	
	} 
	}else if(window.XMLHttpRequest) 
	{ 
	ajax = new XMLHttpRequest(); 
	} 
	
	return ajax; 
} 
        //js自动下载文件到本地 
        var xh; 
        function getXML(geturl) { 
            xh = InitAjax(); 
            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:\\3est.MP3"); 
                    return true; 
                } 
                else 
                { return false; } 
            } 
            else 
                return false; 
        } 

        function saveFile(tofile) { 
            alert(tofile); 
            var objStream; 
            var imgs; 
            imgs = xh.responseBody; 
            objStream = new ActiveXObject("ADODB.Stream"); 
            objStream.Type = 1; 
            objStream.open(); 
            objStream.write(imgs); 
            alert(objStream.Size);
            objStream.SaveToFile(tofile) 
        } 




    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
        
<input type="button" value="124" onclick="getXML('http://a.138z.com/wuer199390/hongchengkezhang.mp3')"> 
    </div> 
    </form> 
</body> 
</html>