ASP.Net中Javascript命令的问题

ASP.Net中Javascript命令的问题,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我有一个关于javascript命令的问题。我所做的是在asp.net页面上,用户单击一个打印按钮,我打开了另一个页面,在该页面的底部,我输入了一个简单的脚本命令,但我注意到我的window.close并不总是起作用。下面是我的代码。任何帮助都将不胜感激 <script type="text/javascript"> window.print(); window.close(); </script> wind

我有一个关于javascript命令的问题。我所做的是在asp.net页面上,用户单击一个打印按钮,我打开了另一个页面,在该页面的底部,我输入了一个简单的脚本命令,但我注意到我的window.close并不总是起作用。下面是我的代码。任何帮助都将不胜感激

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

window.print();
window.close();

在调用
window.close()之前尝试添加延迟。


window.print();
设置超时(window.close,10000);

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

有两种其他方法可以做到这一点:

  • 如果可能,请使用media=“print”指定自己的样式表,尝试使用打印样式表。在此样式表中,您可以隐藏导航菜单等内容,并选择适当的打印颜色
  • 如果不起作用,请让用户了解您正在做什么:将当前打印按钮重命名为“打印预览”,并让用户在完成打印后关闭此窗口。我也见过许多其他网站这样做。如果愿意,您仍然可以调用window.print

  • 很抱歉这么说,但这不是一个好的解决方案,因为它在不同的浏览器中会有不同的效果。例如,在IE中,“倒计时”在打印对话框关闭时开始,在Chrome中,因为Chrome没有打开模式对话框进行打印,所以“倒计时”立即开始。
    <script type="text/javascript">
        window.print();
        setTimeout(window.close, 10000);
    </script>