この投稿は明らかにうまく表示されていませんでしたが、削除して再投稿するのではなく、編集してより明瞭にしました。window.print()は更新されたdivを表示していません
単純に言えば、他のすべてのdivが非表示になっている特定のdiv内でのみコンテンツを印刷できるようにするために、私のページにいくつかの要素があります。
ドキュメントがロードされた<div id='print-me'>
<h1>Hello Plunker!</h1>
</div>
、私は変更しようとしている:私は以下のようにdiv要素を持っている
<style>
@media print {
body.printing * { display: none; }
body.printing #print-me { display: block; }
}
@media screen {
#print-me { display: none; }
}
</style>
体において:私は、以下のとおりのスタイルを定義する説明のポストを見つけましたprint-me部門の内容を以下のように変更し、この投稿に回答したeddie氏から親切に提供された情報を使用してください。印刷クラスが追加され、print-me divが印刷ウィンドウに表示されるように設定された状態で、他のすべての要素がドキュメントの本文から隠されます。
$(document).ready(function() {
$("body").addClass("printing");
document.getElementById('print-me').innerHTML = '<p>crikey</p>';
var htmlText = '<p>HTML TO PRINT</p>';
$("#print-me").html(htmlText).promise().done(function() {
window.print();
});
});
あなたは下のリンク
でPlunkerの例を表示した場合しかし、あなたは印刷ウィンドウが開きことを確認し、私は印刷に私を設定していたテキストますdivは表示されません。問題のコードは以下の通りになります。
$("body").addClass("printing");
var htmlText = '<p>HTML TO PRINT</p>';
$("#print-me").html(htmlText).promise().done(function() {
window.print();
});
私がいることを変更した場合:その後、
$("body").addClass("printing");
var htmlText = '<p>HTML TO PRINT</p>';
$("#print-me").text(htmlText).promise().done(function() {
window.print();
});
印刷画面で印刷-私はdiv要素や表示を更新しないこと。ただし、htmlTextは文字通り、htmlとして表示されません。
なぜ前者は表示されませんが、後者はプレーンテキストとして表示されます。
私が起こっているとどのように問題を解決するために、および/またはポストを改善する方法をされているものの任意のヘルプ/アドバイスをありがとうございました、これはより良い問題を説明したいと考えています。
ありがとう私たちの返信は、とても感謝しています私はスタイル定義を削除したので、プランカのサンプルを更新しました。 print-me divは画面からは隠されていますが、印刷時に表示するように設定されていますが、本文の他のすべての要素は非表示になっていますが、これはまだ機能しません。私はおそらくあなたのステートメントは、 "動的コンテンツを完全に追加するためにHTMLを待つ"手がかりだと思ったが、約束を使うようにコードを変更しても、プリントウインドウにprint-meテキストは表示されません。変更を反映するために投稿を編集し、いくつかの追加情報を追加しました。Thanks heaps – c95mbq
私の例のように '@media print'のdivに' visibility:visible; 'を追加する必要があります – Eddie
Thanks Eddieですが、$(" body ").addClass(" printing "); #print-meをdisplay:blockに設定します。また、$( '#print-me')。textを設定した場合には変更が表示されるので、$( '#print-me').htmlを設定しないと表示されないため、表示方法とは関係ありません?上記のプランナーのリンクをチェックすると、私の言いたいことが分かります。ありがとうヒープ – c95mbq