「印刷に適した」ページではないため、検索結果を表示する表を印刷するオプションをユーザーから要求されました。ボタンを使用して開き、元のテーブルから入力される、印刷に適したページを作成しました。新しいページには、必要に応じて元のテーブルの「ゼブラ ストライプ」が表示されます。しかし、印刷プレビュー (ブラウザー メニュー > [ファイル] > [印刷プレビュー]) を表示すると、ストライピングはなくなりました。フォントの変更が表示されます。他のすべてのスタイルの変更が表示されます。ただし、ストライピングに影響を与える TR シェーディングは変換されません。
これが私のコードです:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<meta http-equiv="expires" value="Thu, 16 Mar 2000 11:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
<script type="text/javascript" src="/pkc/jscripts/jquery_current.js"></script>
<title>Product Knowledge Center - Results</title>
<style>
body{
font-family: arial;
}
div{
font-size: 12pt;
}
.odd{ background: #DDDDDD; }
.even{ background: #FFFFFF; }
.hdrSpan{
width: 200px;
display: inline;
float: left;
}
</style>
</head>
<body>
<div id="divHeader">
<span class="hdrSpan">Line</span>
<span id="spnLine"></span><br />
<span class="hdrSpan">Company</span>
<span id="spnCompany"></span><br />
<span class="hdrSpan">State</span>
<span id="spnState"></span><br />
<span class="hdrSpan">Eff. Date</span>
<span id="spnEffDt"></span>
</div>
<br />
<hr />
<div id="divResults">
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#spnLine").text(window.opener.$('[name="Line"] option:selected').text());
$("#spnCompany").text(window.opener.$('[name="Company"] option:selected').text());
$("#spnState").text(window.opener.$('[name="State"] option:selected').text());
$("#spnEffDt").text(window.opener.$('[name="effectiveDate"]').val());
$("#divResults").html(window.opener.$("#idResults").html());
$("#resultsTbl tr").removeAttr("onclick");
});
</script>
</body>
</html>
明らかなように、コードは非常に単純で複雑ではありません。ストライピングが印刷版に表示されない理由がわかりません。