为了打印我的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>
答案 0 :(得分:6)
你的职能:
function print() {
window.print(); // <-- refers to this custom function
}
将print
作为window.print
放入全局对象中。所以实际上你正在调用函数本身,它会调用自身等等。这将永远持续下去,导致溢出。
由于window.print
已经在本地定义,为什么不删除自定义函数?如果您删除function print() {...}
它应该可以正常工作,因为它会调用'真实'window.print
(因为print
只是window.print
的快捷方式),实际上是印刷。