<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
var resources = [];
var Thunder=null;
var download,addTask,commitTasks,batchDownload=null;
var Delegate={create:function(obj,func){var f=function(){var target=arguments.callee.target;var func=arguments.callee.func;return func.apply(target,arguments);};f.target=obj;f.func=func;return f;}};
try{
 Thunder=new ActiveXObject("ThunderServer.webThunder.1");
 download=function(cid,url,refer,name,stat){
    Thunder.CallAddTask(url,name,refer,1,cid,stat);
 }
 batchDownload=function(data,stat){
     var batchTask=Thunder.BeginBatchTask();
     if(batchTask==0){
      alert("批量下载初始化失败");return;
     }
 }
}catch(e){
 try{
  Thunder=new ActiveXObject("ThunderAgent.Agent.1");
  addTask=function(cid,url,refer,name,stat){
     var _addTask=[Delegate.create(this,function(){Thunder.AddTask4(url,"","",name,refer,-1,0,-1,"",cid,stat);}),
        Delegate.create(this,function(){Thunder.AddTask3(url,"","",name,refer,-1,0,-1,"",cid);}),
        Delegate.create(this,function(){Thunder.AddTask2(url,"","",name,refer,-1,0,-1,"");}),
        Delegate.create(this,function(){Thunder.AddTask(url,"","",name,refer,-1,0,-1);})];
     for(var i=0;i<_addTask.length;i++){
      try{
       _addTask[i]();
       return;
      }catch(e){}
     }
  }
  commitTasks=function(){
   var _commitTasks=[Delegate.create(this,function(){Thunder.CommitTasks2(1);}),
       Delegate.create(this,function(){Thunder.CommitTasks();})];
   for(var i=0;i<_commitTasks.length;i++){
    try{
     _commitTasks[i]();
     return;
    }catch(e){}
   }
  }
  download=function(cid,url,refer,name,stat){
     try{
      this.addTask(cid,url,refer,name,stat);
      this.commitTasks();
     }catch(e){
      alert(e.message);
     }
  }
  batchDownload=function(data,stat){
      try{
  var picurl=document.getElementsByName("test");
  for(i=0;i<picurl.length;i++){
  if(picurl[i].checked){
  data[data.length]=picurl[i].value;
  }
  }
  alert(data.length);
       for(i=0;i<data.length;i++){
   alert(data[i])
        this.addTask('',data[i],'','',stat);
       }
       this.commitTasks();
      }catch(e){
       alert(e.message);
      }
  }
 }catch(e){
  alert("迅雷初始化失败!请使用ie浏览器");
 }
}</script></head><body>
<input type="checkbox" name="test" value="http://localhost:8080/SSE1210/picture/10001-1.jpg">
<input type="checkbox" name="test" value="http://localhost:8080/SSE1210/picture/10001-2.jpg">
<input type="checkbox" name="test" value="http://localhost:8080/SSE1210/picture/10001-3.jpg">
<input type="checkbox" name="test" value="http://localhost:8080/SSE1210/picture/10001-4.jpg"><p>
  <label>
  <input type="button" name="Submit2" value="批量" onclick="batchDownload(resources,'')" />
  </label>
</p>
</body>
</html>说明:用ie7 测试点击 onclick="batchDownload(resources,'') 不会调用  batchDownload=function(data,stat)
但是如果将onclick="batchDownload(resources,'') 改成  onclick="test(resources,'')  将 batchDownload=function(data,stat) 改成  function test(data,stat) 就可以 但是里面还有很多其它的方法也要改 我有很多看不懂的
麻烦哪位高人给指点指点  结贴我将全部积分送上 

解决方案 »

  1.   

    依稀记得以前曾经碰到或,直觉是你 右括号没有加 ; 的问题。batchDownload=function(data,stat){...};
      

  2.   

    用chrome或者fireBug 调调看看可行
      

  3.   

    额 貌似他们都不支持 ActiveX 控件
      

  4.   

    问题我自己已经解决 原因是 那台机器上面有 web 迅雷 所以默认会调用 第一个try 里面的方法 catch 里面的没有执行 因此也就不能调用