如何在JavaScript中打印呈现的HTML页面的一部分?

JavaScript代码window.print()可以打印当前的HTML页面。

如果我在HTML页面中有一个div(例如,从ASP.NETMVC视图呈现的页面),那么我只想打印div。

是否有jQuery兼容的JavaScript或普通的JavaScript代码来实现此请求?

更清楚地说,假设呈现的HTML页面是这样的:

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head" runat="server">

<title>

<asp:ContentPlaceHolder runat="server" ID="TitleContent" />

</title>

</head>

<body>

<div id="div1" class="div1">....</div>

<div id="div2" class="div2">....</div>

<div id="div3" class="div3">....</div>

<div id="div4" class="div4">....</div>

<div id="div4" class="div4">....</div>

<p>

<input id="btnSubmit" type="submit" value="Print" onclick="divPrint();" />

</p>

</body>

</html>

然后我要单击“打印”按钮,仅打印div3。

回答:

我会这样处理:

<html>

<head>

<title>Print Test Page</title>

<script>

printDivCSS = new String ('<link href="myprintstyle.css" rel="stylesheet" type="text/css">')

function printDiv(divId) {

window.frames["print_frame"].document.body.innerHTML=printDivCSS + document.getElementById(divId).innerHTML;

window.frames["print_frame"].window.focus();

window.frames["print_frame"].window.print();

}

</script>

</head>

<body>

<h1><b><center>This is a test page for printing</center></b><hr color=#00cc00 width=95%></h1>

<b>Div 1:</b> <a href="javascript:printDiv('div1')">Print</a><br>

<div id="div1">This is the div1's print output</div>

<br><br>

<b>Div 2:</b> <a href="javascript:printDiv('div2')">Print</a><br>

<div id="div2">This is the div2's print output</div>

<br><br>

<b>Div 3:</b> <a href="javascript:printDiv('div3')">Print</a><br>

<div id="div3">This is the div3's print output</div>

<iframe name="print_frame" width="0" height="0" frameborder="0" src="about:blank"></iframe>

</body>

</html>

以上是 如何在JavaScript中打印呈现的HTML页面的一部分? 的全部内容, 来源链接: utcz.com/qa/407927.html

回到顶部