为了打开当前页面的打印对话框,我们这样做:
<a href="javascript:window.print()">Print</a>
字符串如何在当前页面中创建一个链接,以打开与实际页面不同的上下文的打印对话框?
t8e9dugd1#
在玩了一圈(和一些谷歌搜索)之后,我得出了this解决方案:我在当前视图中添加了一个non-printable类,在可打印的容器元素中添加了printable类。在我的CSS中,我使用了css media queries,其中@media screen和@media print状态包含相应的显示行为:
non-printable
printable
@media screen
@media print
@media screen { .printable { display: none; } .non-printable { display: block; } } @media print { .printable { display: block; } .non-printable { display: none; } }
字符串现在,我可以从当前视图打印新内容,而无需打开新选项卡或更改当前视图。看看这个jsFiddle和支持的浏览器列表。
uinbv5nw2#
我不确定这是否真的是对你问题的回答,因为你的问题很少详细说明你打开一个新窗口的意思。如果你在/page/one上,你想打开一个链接/report/page,并自动弹出打印对话框.
<body onload='window.print()'>
字符串如果你不想让那个页面总是打开打印对话框,那么当你想打印的时候,就把指向新页面的链接设置为/report/page?print=1或类似的效果,当你在URL中找到它时,触发onload事件。
/report/page?print=1
ykejflvf3#
在div中包含可打印的内容。例如:超文本标记语言:
<div id='printarea'> <p>This is a sample text for printing purpose.</p> <input type='button' id='btn' value='Print' onclick='printFunc();'> </div> <p>Do not print.</p>
字符串JQuery:
function printFunc() { var divToPrint = document.getElementById('printarea'); var htmlToPrint = '' + '<style type="text/css">' + 'table th, table td {' + 'border:1px solid #000;' + 'padding;0.5em;' + '}' + '</style>'; htmlToPrint += divToPrint.outerHTML; newWin = window.open(""); newWin.document.write("<h3 align='center'>Print Page</h3>"); newWin.document.write(htmlToPrint); newWin.print(); newWin.close(); }
型它只会打印可打印的div。谢谢
kg7wmglp4#
有一个很好的JavaScript插件叫做PrintThis,它可以很容易地完成这个任务。您只需要使用jQuery选择器并调用插件,例如:
jQuery
$('selector').printThis();
字符串https://github.com/jasonday/printThis
4条答案
按热度按时间t8e9dugd1#
Print Dialog
在玩了一圈(和一些谷歌搜索)之后,我得出了this解决方案:
我在当前视图中添加了一个
non-printable
类,在可打印的容器元素中添加了printable
类。在我的CSS中,我使用了css media queries,其中@media screen
和@media print
状态包含相应的显示行为:字符串
现在,我可以从当前视图打印新内容,而无需打开新选项卡或更改当前视图。
看看这个jsFiddle和支持的浏览器列表。
uinbv5nw2#
我不确定这是否真的是对你问题的回答,因为你的问题很少详细说明你打开一个新窗口的意思。
如果你在/page/one上,你想打开一个链接/report/page,并自动弹出打印对话框.
字符串
如果你不想让那个页面总是打开打印对话框,那么当你想打印的时候,就把指向新页面的链接设置为
/report/page?print=1
或类似的效果,当你在URL中找到它时,触发onload事件。ykejflvf3#
在div中包含可打印的内容。例如:
超文本标记语言:
字符串
JQuery:
型
它只会打印可打印的div。谢谢
kg7wmglp4#
有一个很好的JavaScript插件叫做PrintThis,它可以很容易地完成这个任务。
您只需要使用
jQuery
选择器并调用插件,例如:字符串
https://github.com/jasonday/printThis