私はfirefox 16.0.2を使用しています。インポートしたファイルで定義された css ルールを使用して div コンテンツを印刷したいと考えています。Chrome で印刷しようとすると正常に動作しますが、Firefox では、印刷されたページに CSS がフォーマットされていません。
<html>
<head>
import css here
</head>
<body>
<div id="printable"></div>
</body>
</html>
JavaScript を使用して div id=printable を印刷すると、紙の結果には CSS ルールのない HTML コンテンツのみが含まれ、画面上の結果は完璧になります。すべての css が定義された状態で Firefox を印刷する方法はありますか?
以下の追加は、divを印刷するための私のjavascriptです
function print(id)
{
var mywindow = window.open('', id, 'height=600,width=800');
var data = document.getElementById(id).innerHTML;
mywindow.document.write('<html><head><title>Print</title>');
mywindow.document.write('<link rel="stylesheet" href="../../lib/css/report/main.css" type="text/css" />');
mywindow.document.write('</head><body >');
mywindow.document.write(data);
mywindow.document.write('</body></html>');
mywindow.print();
mywindow.close();
return true;
}
main.css で @media print {#printable.....} を使用しようとしましたが、うまくいきません。Javascript で media="print" を link タグのように配置しようとしましたが、印刷プレビューにはまだ効果がありません。