2011-08-22 13 views
0

我对javascript命令有疑问。我正在做的是在一个asp.net页面上,一个用户点击一个打印按钮,我打开了另一个页面,在该页面的底部,我输入了一个简单的脚本命令,但我注意到了我的窗口。关闭不总是工作。以下是我的代码如下。任何帮助将非常感激。ASP.Net中的Javascript命令问题

<script type="text/javascript"> 
       window.print(); 
       window.close(); 
</script> 

回答

1

尝试添加延迟调用window.close()

<script type="text/javascript"> 
    window.print(); 
    setTimeout(window.close, 10000); 
</script> 
+0

对不起,这不是一个好的解决方案,因为它会在不同的浏览器中产生不同的效果。例如,在IE中,当打印对话框关闭时,“倒计时”开始,因为Chrome不打开模式对话框进行打印。 – Preli

0

之前,我不认为你会得到它的工作这种方式。例如在IE中打印功能将阻止关闭函数并在Chrome的许多版本中window.close不起作用。

有这样做的另外2种方法:

  1. 如果可能尝试通过指定自己的样式表与媒体=“打印”使用打印样式表。在这个样式表中,您可以隐藏诸如导航菜单之类的东西,并选择合适的颜色进行打印。 details on selfhtml
  2. 如果这样做不起作用,让用户理解你在做什么:将当前打印按钮重命名为“打印预览”,让用户在完成打印时关闭此窗口。我看到很多其他网站也是这样做的。如果你喜欢,你仍然可以调用window.print。