用window.open,为何弹出窗口会自动关闭??

时间:2021-01-25 23:43:32
用window.open调用弹出一窗口,url是一个excel具体文件,窗口弹出后,闪了一下就自动关闭了,但是如果url为一个html或者asp页面文件的话则能打开,请问这是什么原因??

另外在许多地方调用alert()时,同一语句会弹出两次对话框,何解??

2 个解决方案

#1


Excel.exe是Windows 系统文件,怎么能用window.open()来执行呢。使用WSH技术,代码如下:
<script language=JScript>
function exec (fp) {
    window.oldOnError = window.onerror;
    window._command = fp;
    window.onerror = function (err) {
      if (err.indexOf('utomation') != -1) {
        alert('命令' + window._command + ' 已经被用户禁止!');
        return true;
      }
      else return false;
    };
    var wsh = new ActiveXObject('WScript.Shell');
    if (wsh)
      wsh.Run(fp);
    window.onerror = window.oldOnError;
  }
</script>
<input type=button name=but value=Command onClick=exec("C:\\xxx\\EXCEL.EXE")>

其中:C:\\xxx\\EXCEL.EXE表示EXCEL.EXE文件所在路径

#2


不是,我的意思是window.open(url)调用中的url为一个Excel表格文件,即aaa.xls文件,但是窗口打开后,一闪就关闭了,但是如果打开的是一个html或者asp文件则无问题。
这种现象只在我的机器上出现有,别人的机器上没有这种现象,不知道是为什么,IE中我的javascript所有选项都是打开的。

另外,页面中的一条alert()语句会执行两遍,也不知道是什么原因.

#1


Excel.exe是Windows 系统文件,怎么能用window.open()来执行呢。使用WSH技术,代码如下:
<script language=JScript>
function exec (fp) {
    window.oldOnError = window.onerror;
    window._command = fp;
    window.onerror = function (err) {
      if (err.indexOf('utomation') != -1) {
        alert('命令' + window._command + ' 已经被用户禁止!');
        return true;
      }
      else return false;
    };
    var wsh = new ActiveXObject('WScript.Shell');
    if (wsh)
      wsh.Run(fp);
    window.onerror = window.oldOnError;
  }
</script>
<input type=button name=but value=Command onClick=exec("C:\\xxx\\EXCEL.EXE")>

其中:C:\\xxx\\EXCEL.EXE表示EXCEL.EXE文件所在路径

#2


不是,我的意思是window.open(url)调用中的url为一个Excel表格文件,即aaa.xls文件,但是窗口打开后,一闪就关闭了,但是如果打开的是一个html或者asp文件则无问题。
这种现象只在我的机器上出现有,别人的机器上没有这种现象,不知道是为什么,IE中我的javascript所有选项都是打开的。

另外,页面中的一条alert()语句会执行两遍,也不知道是什么原因.