打開新的打印對話框窗口,爲了打開打印對話框當前頁面,我們做一些事情,像這樣:不同的HTML內容
<a href="javascript:window.print()">Print</a>
如何使當前網頁,將打開打印鏈接與實際頁面不同的上下文的對話框?在Chrome
打印對話框:
打開新的打印對話框窗口,爲了打開打印對話框當前頁面,我們做一些事情,像這樣:不同的HTML內容
<a href="javascript:window.print()">Print</a>
如何使當前網頁,將打開打印鏈接與實際頁面不同的上下文的對話框?在Chrome
打印對話框:
周圍玩(和一些google搜索)後,我想出了this解決方案:
我添加了一個non-printable
類到當前視圖和printable
類可打印容器元素。在我的CSS,我用css media queries其中@media screen
和@media print
狀態包含相應的顯示行爲:
@media screen {
.printable { display: none; }
.non-printable { display: block; }
}
@media print {
.printable { display: block; }
.non-printable { display: none; }
}
現在,我可以打印從我目前看來新的內容,而無需打開一個新標籤或改變我的觀點。
看看這個jsFiddle和supported browser的列表。
我不知道如果這實際上是一個回答你的問題,因爲你的問題有關於你的意思是什麼開放非常小的細節一個新窗口。
如果您在/ page/one上,並且想要打開鏈接/報告/頁面,並自動彈出打印對話框......則只需觸發加載事件中的window.print
即可。
<body onload='window.print()'>
如果你不想讓頁面一定要打開打印對話框,然後進行鏈接到新的頁面/report/page?print=1
或東西的效果時,要打印,當你發現在URL觸發onload事件。
有一個很好的Javascript插件叫做PrintThis很容易實現這一點。
你只需要使用一個jQuery
選擇和調用插件,例如:
$('selector').printThis();
包含在一個div打印內容。像:
HTML:
<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.Thanks