Window.print()无法打印

时间:2011-08-20 12:26:29

标签: javascript asp.net

为了打印我的Aspx网页,我使用以下代码,但在IE中我遇到“Stack over flow at line:0”错误消息,在火狐中任何事情都不会发生。 怎么了?

<head>
 <script language="javascript" type="text/javascript">
        function print() {
            window.print();
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
<div class="toolbar" style="width:400px">
            <ul>
<li>
                <img alt="" src="../../../CssImages/printer_128.png" id="ImgPrint" width="20px" style="cursor:pointer" onclick="print()"/>
                </li>
     </ul>

1 个答案:

答案 0 :(得分:6)

你的职能:

function print() {
    window.print(); // <-- refers to this custom function
}

print作为window.print放入全局对象中。所以实际上你正在调用函数本身,它会调用自身等等。这将永远持续下去,导致溢出。

由于window.print已经在本地定义,为什么不删除自定义函数?如果您删除function print() {...}它应该可以正常工作,因为它会调用'真实'window.print(因为print只是window.print的快捷方式),实际上是印刷。