![](/img/trans.png)
[英]How to open a popup window in web forms without ajax modelpopupextender
[英]How to print a web page without opening a popup window?
我想使用JavaScript打印网页。 但我不想打开页面作为弹出窗口。 如何使用JavaScript window.print方法直接打印像'mypage.aspx'这样的网页而不将其打开为弹出窗口?
条件是'我不想为此使用任何ActiveX'
这是我想要尝试的:
var printWindow, printData; printWindow = window.open("", "printVersion", "menubar,scrollbars,width=640,height=480,top=0,left=0");
printData=document.getElementById("lblReport").innerHTML; printWindow.document.write(printData);
printWindow.document.close();
printWindow.print();
最简单的解决方案是将mypage.aspx的内容加载到iframe,然后在iframes onload事件上调用window.print。
<button onclick="printPage()">print</button>
<div id="printerDiv" style="display:none"></div>
<script>
function printPage()
{
var div = document.getElementById("printerDiv");
div.innerHTML = '<iframe src="mypage.aspx" onload="this.contentWindow.print();"></iframe>';
}
</script>
<html>
<head>
<title>Print</title>
<link rel="stylesheet" type="text/css" media="all" href="all.css" />
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
</head>
<body>
<p>I get printed</p>
<form>
<input type="button" onclick="window.print()" value="Print" />
</form>
</body>
</html>
确保all.css
是在顶部和print.css
在底部,它应该工作。
不确定它是否有效,但您可以尝试创建不可见的iframe
,在其中加载page2.aspx然后打印它。
嗯。 只需使用window.print();
直接在页面上。 它本身不会打开一个新窗口(除了打印属性窗口以设置打印选项)。
您可以使用CSS打印样式表并避免完全使用javascript - 用户必须执行这些操作才能打印页面。 例如
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.