我正在处理ASPx Web窗体页面,并且打印页面存在问题。
我有按钮'打印',它调用事件(打印方法):
private void MenuPrint_ItemClick(object sender, DevExpress.Web.ASPxMenu.MenuItemEventArgs e)
{
Response.RedirectOn("Print.aspx", "_blank", "menubar=0,scrollbars=1,width=780,height=900,top=10");
}
按下“打印”按钮后,它会打开新窗口“Print.aspx”,这是本页面上的内容:
protected void Page_Init(object sender, EventArgs e)
{
LoadData(); // generate print document
Response.Write("<script language=javascript>window.print();</script>");
}
现在问题出在了:
window.print();将打开谷歌浏览器打印菜单,它会阻止旧窗口(该窗口在哪里是'打印'按钮。
当我通过单击[X]关闭Print.aspx时,List.aspx窗口仍将被阻止。当我按'Anuluj' - 这意味着取消然后按[X] List.aspx将不会被阻止。 Eveything会好的。
我做了一些研究,弄清楚没有更多选项来打印文档,我也无法处理'取消打印'按钮。
问题是如何避免那个块,也许我应该使用其他东西代替RedirectOn?
答案 0 :(得分:4)
这似乎是Chrome 34的错误 - 这是您使用的Chrome版本吗? 这里有一个类似的问题:Javascript window.print() in chrome, closing new window or tab instead of cancelling print leaves javascript blocked in parent window。 到目前为止还没有解决方案。