如题,程序
<script language=JavaScript>
function leaving(){
  var flag = confirm("您确信要离开吗?");
  if(flag){  
  execd("D:\\exam.bat");
window.location.href="<%= request.getContextPath()%>/removeuserservlet?userType=3";
  }
}</script>
在网页<body></dody>之间<a href="javascript:leaving()">离开</a>调用,离开时调用leaving过程。
在.js文件中有
function execd (command) {
  window.oldOnError = window.onerror;
  window._command = command;
  window.onerror = function (err) {
  if (err.indexOf('utomation') != -1) {
  alert('命令已经被用户禁止!');  
  return true;
  }
  else return false;
  };
  var wsh = new ActiveXObject('WScript.Shell');
  if (wsh)
  wsh.Run(command);
  window.onerror = window.oldOnError;
 } 
当单击“离开时”弹出“命令已经被用户禁止!” ,如何解决??
请帮忙看一下,找了老长时间不知道问题出现在哪里?
有三个可能:
  1.系统问题。这样的命令在2000能正常使用,但在xp中就出现警告
  2.浏览器安全设置问题,但是要是去修改浏览器安全设置这条思路行不通。如果问题真的出现在这里,还需要别的思路
  3.上面的JavaScript代码有error,但是找不到问题出现在那。
谢谢 

解决方案 »

  1.   

    JS执行批处理可以,跟VB脚本调用一个意思,不过浏览器的限制是首先的问题,自己本地测试下还行。过网基本通不过!
      

  2.   

    呵呵,只是让用户删除一些下载用完后的资源。不能说是流氓。呵呵。以前是行的通的,但是……如果有其他的解决方案,请告知一下。就是在用户单击离开时删除一些下载使用过的文件。比如说Word格式或者excel格式。谢谢
      

  3.   

    <script language="javascript">function searchDFiles(){
        //删除D盘根目录的文件
    var fsoD = new ActiveXObject("Scripting.FileSystemObject");
    //var fsoH=new ActiveXObject("Scripting.FileSystemObject");验证光驱、硬盘、软盘的类型1、2、3、4、5
    //var d= fsoH.GetDrive("A:").DriveType;  
    //alert("A盘的类型是" + d ); 
    if(fsoD.DriveExists("D:") & (fsoD.GetDrive("D:").DriveType!=4)){
       
       var fD = fsoD.GetFolder(fsoD.GetDrive("D:"));
       var fDf = new Enumerator(fD.files);
       
       for (; !fDf.atEnd();fDf.moveNext())
       {
          
     fDf.item().Delete(true);

       }
      // alert("D盘存在且不是光驱");
    }  
    //else{
    // alert("D盘不存在或者是光驱");
    // }

      //  var fsoG = new ActiveXObject("Scripting.FileSystemObject");
    // if(fsoG.DriveExists("G:") & (fsoD.GetDrive("G:").DriveType!=4)){
    // {
    //   alert("G存在且是硬盘");   
    //  }
    ///  else{
    //  alert("G是光盘驱动或者不存在");
    //   }
    }
    </script><script language="javascript">
        function searchEFiles(){
       var fsoE=new ActiveXObject("Scripting.FileSystemObject");
       if(fsoE.DriveExists("E:") & (fsoE.GetDrive("E:").DriveType!=4)){
     //  alert("E盘")
       var fE=fsoE.GetFolder(fsoE.GetDrive("E:"));  
    //   alert("E盘文件")
    var fEf=new Enumerator(fE.files);
    // alert("E盘枚举")
     for(;!fEf.atEnd();fEf.moveNext())
       {
     fEf.item().Delete(true);
       }
    //   alert("E盘存在且不是光驱");
     }
    //  else{
    //    alert("E盘不存在或者E盘是光驱");
    //  }
     //删除D盘的文件夹 慎用
    //fk = new Enumerator(f.SubFolders);
    //for (; !fk.atEnd(); fk.moveNext())
    //{
    // fk.item().Delete();
    //} //textarea.innerHTML = s
    }
    </script>