Web ページに 3 つの印刷ボタンを追加し、それぞれが Web ページの一部 (div) を印刷します。これがそのコードです
function printPage(id)
{
var html="<html>";
//html+="<link rel="stylesheet" type="text/css" href="../css/template.css" />";
html+= document.getElementById(id).innerHTML;
html+="</html>";
var printWin = window.open('','_blank','left=0,top=0,width=500,height=500,fullscreen=1,toolbar=0,scrollbars=0,status =0');
printWin.document.write(html);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
}
<input name="b_print" type="button" class="ipt" onClick="printPage('one');" value="Print One">
<input name="b_print" type="button" class="ipt" onClick="printPage('two');" value="Print Two">
<input name="b_print" type="button" class="ipt" onClick="printPage('three');" value="Print three">
「印刷」ボタンをクリックすると、新しいウィンドウが開き、正常に印刷されて閉じます。これについていくつか質問があります
まず、同じページに印刷ウィンドウをポップアップしたいと思います。そのために、_blank
プロパティを にwindow.open
置き換えまし_parent
たが、印刷後、ページがリダイレクトされたり、印刷を開始したページに戻ったりしません。これを回避する方法は?
次に、印刷ページのスタイルを制御するにはどうすればよいですか? スタイルシートをリンクしようとしましたが (上記のコードを参照)、うまくいきません。
ヘルプや提案をお寄せいただきありがとうございます
function printPage(printpage)
{
var headstr = '<html><head></head>'+'<link rel="stylesheet" type="text/css" href="../css/template.css" />'+'<body><br/><br/><br/>';
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}