如何在JavaScript中打印呈现的HTML页面的一部分? [英] How do I print part of a rendered HTML page in JavaScript?
本文介绍了如何在JavaScript中打印呈现的HTML页面的一部分?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
JavaScript代码window.print()可以打印当前的HTML页面。
The JavaScript code window.print() can print the current HTML page.
如果我在HTML页面中有一个div(例如,从 ASP.NET MVC 视图),然后我想打印div。
If I have a div in an HTML page (for example, a page rendered from an ASP.NET MVC view), then I want to print the div only.
是否有任何jQuery 不引人注目的JavaScript 或正常用于实现此请求的JavaScript代码?
Is there any jQuery unobtrusive JavaScript or normal JavaScript code to implement this request?
使其更清晰,假设呈现的HTML页面如下:
Making it more clear, suppose the rendered HTML page is like:
<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。
Then I want to click on the Print button, only printing 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页面的一部分?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文