预览页面的脚本
原代码如下:   
  <input   type="button"   value="关闭"   onClick="closeWin()">   
    
  <script   language=javascript>   
  function   closeWin()   
  {   
    alert('aa');
    window.opener   =   null;   
    window.close();
  }   
 </script>
打印页面是用webprint.dll弄的
现在问题是,刚进来时点关闭按钮好用,但是当我点了IE菜单的打印预览以后,进入打印预览画面,然后点击打印预览画面右上方的×关闭打印预览画面后,此时关闭按钮就不好用了,但是'aa'还是可以alert出来,就是window.close()没起作用。
网上查了一下,有人说是window.close失效了
打印预览的打印页面是用webprint.dll文件做的,关于这个文件也有很多不懂的.
但是后来还发现这个打印页面上还有一个自带的关闭按钮,点击这个'关闭按钮'回到原来的页面后关闭按钮也是好用的,这个也查过,据说原来也和小叉一样,有同样的问题,但是后来人家修改了这个bug.哎,非常郁闷,现在boss要求解决这该死的问题,还不知道这算不算ie的bug,请高手指教,不胜感激.

解决方案 »

  1.   

    setTimeout(window.close,1000); 这样写试试~··
      

  2.   

    是不是跟IE使用的版本有关呢?
    IE7以上是
    if(isMinIE7||isMinIE8){//IE7以上  
    //alert('is ie 7+');  
    window.open('','_top');  
    window.top.close();  
    return ;  
     
    IE6是
    if(isMinIE6){//IE6 
             //alert('is ie 6-');
             window.opener=null;
             window.close();
             return ;
            }
    替换下看可以不
      

  3.   

    首先 非常感谢大家的关注
    但是setTimeout(window.close,1000); 试过了,不好用
    根据ie判断也不行
    如果大家有什么新的发现,马上通知我,百分酬谢。
      

  4.   

    ie点击打印预览后,是无法用window.close()关闭当前窗口的,但可以用另一个方法,
    就是添加
    <OBJECT id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0"></OBJECT>
    调用WebBrowser.ExecWB(45,1)来关闭窗口 
    -----已确定有效
    来自:http://wenda.tianya.cn/wenda/thread?tid=3a2f21ad7448e93e
      

  5.   

    <INPUT VALUE="关闭"   CLASS="BUTTON_01" TYPE=button onclick="fnGetInfo();window.close();" /> 
    用 window.close 试试吧 应该好使
      

  6.   

    加个return function  closeWin()  
      {  
        alert('aa'); 
        window.opener  =  null;  
        window.close(); 
         return  //这里加个return
      }  
      

  7.   

    5楼正解,果然人多力量大,谢谢各位了!
    这个网址还有一些相关的说明
    http://hi.baidu.com/paulau/blog/item/6c0347efd43a36eacf1b3e71.html