印刷したい html を保持する新しいウィンドウ要素を作成して、DIV の内容を印刷しようとしています。すべてが機能し、css スタイルは印刷プレビュー ウィンドウに正しく表示されますが、ウィンドウがファイルまたはプリンターに物理的に印刷されるとスタイルが失われます。css が読み込まれる前に print() イベントが発生したと思われますが、これを修正する方法がわかりません。
これが私のjsコードです
function printDiv (elem)
{
var popup = window.open('','','width=800,height=500,toolbar=no, menubar=no');
popup.document.writeln('<!DOCTYPE html>');
popup.document.writeln('<html><head><title></title>');
popup.document.writeln('<link rel="stylesheet" type="text/css" href="/assets/css/main.css">');
popup.document.writeln('</head><body class="popup-body">');
popup.document.writeln(elem.html());
popup.document.writeln('</body>');
popup.document.writeln('</html>');
popup.print();
popup.close();
}