0

特定の DIV のコンテンツを印刷しようとしています。DIV を印刷した後、Web ページを適切に修正する必要がありますが、印刷したばかりの DIV のみを表示し、実際の Web ページを非表示にします。何が間違っていると思いますか?

私のコードは

function printdiv(printpage)
{
var newstr = document.all.item(printpage).innerHTML;
document.body.innerHTML = newstr;
window.print();
window.close();
}

<img src="im/print.png" onClick="printdiv('mytabprint');" width="50" />

上記のコードmytabprintは、印刷したい DIV 要素です。

4

1 に答える 1

3

何が間違っていると思いますか?

はい、他のコンテンツを「隠している」のではなく、実際にはページのコンテンツ全体を div に置き換えています。

document.body.innerHTML = newstr;

代わりに、単に印刷スタイルシートを使用できます。たとえば、これを CSS に追加します。

@media print {
   /* 
   rules that only apply for printing 
   like hiding some content
   */
}

または、印刷用に別の CSS をリンクします。

<link rel="stylesheet" href="your_css.css" type="text/css" media="print" />
于 2013-06-18T14:36:36.240 に答える