Ray*_*phy 2 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>
Run Code Online (Sandbox Code Playgroud)
你的功能:
function print() {
window.print(); // <-- refers to this custom function
}
Run Code Online (Sandbox Code Playgroud)
将print作为全球对象投入window.print.所以实际上你正在调用函数本身,它自己调用等等.这将永远持续导致溢出.
因为window.print已经本地定义,为什么不消除自定义功能?如果你删除function print() {...}它应该工作正常,因为它将调用'真实' window.print(print只是一个快捷方式window.print),实际上打印.