3

我有一个不是“打印机友好”的页面,所以我的用户要求选择打印出一个显示搜索结果的表格。我创建了一个打印机友好页面,该页面通过一个按钮打开并从原始表格中填充。新页面根据需要显示原始表格中的“斑马条纹”。但是当我拉起打印预览(浏览器菜单>文件>打印预览)时,条纹消失了。显示字体更改。所有其他样式更改都会显示出来。但是影响条纹的 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>

正如我希望的那样,代码非常简单明了。我只是不明白为什么印刷版上没有出现条纹。

4

2 回答 2

4

您无能为力,因为此选项取决于用户在打印网页时直接配置它。理想情况下,用户应该决定是否要在打印时使用更多或更少的墨水。

Webkit 浏览器有一个解决方法:您可以通过将以下代码添加到您的 CSS 来强制背景颜色打印:

-webkit-print-color-adjust: exact;

在 Firefox 和 IE 上,您可以通过检查页面配置对话框中的选项来设置它。

于 2013-01-15T13:14:21.117 回答
2

打印机设置通常包括打印背景颜色/图像的选项。

这是最好的答案 - 到目前为止(15 分钟?)。我将把它标记为我使用的那个。我在页面加载时添加了一个警报,告诉用户如何在他们的打印输出上获得条纹,现在我要开始下一个问题了......

于 2012-12-07T19:23:38.917 回答