window.print()在preview.js中的IE Line no 1791中抛出错误

时间:2014-11-04 09:57:55

标签: javascript asp.net .net

我使用window.print()函数打印页面结果。

在aspx页面中:

<table cellpadding="4" cellspacing="1" border="0" align="center"  class="noprint" width="98%">
        <tr><td class="title" height="22">XXXXXX</td></tr>  
    </table>

    <FHR:ErrMessage ID="EM" runat="server" visible="false" />

    <asp:Panel ID="PanelView" runat="server" Visible="false" >
        <ucl:uclView  ID="XXXViewScreen" runat="server" ></ucl:uclView>
    </asp:Panel>

在用户控制页面中:

/ More than 500 lines code /
In last line of the page :

<input type="button" value="Print" onclick="window.print();" class="winbutton"/>

我已经检查了(IE11,IE10,Firefox,Chrome)浏览器中的打印选项,最终工作正常。

但是其他一些系统会抛出以下错误:

Error

任何人都可以解决这个问题..?

1 个答案:

答案 0 :(得分:1)

此错误在Microsoft上有详细记录,请参阅此KB2652062,当打印机驱动程序(在客户端计算机上)未更新,损坏或未配置时,它会附加到Internet Explorer上。

当在网络上共享打印机并且客户端无法访问它或打印机从终端服务器附加时,也会发生错误。

您可以在客户端上更新/配置驱动程序,也可以尝试将window.print()包装在try / catch上:

try {
    window.print();
}
catch(err) {
    console.log("cannot print");    
}

无论如何,因为无法重现错误我不知道是否正常工作。