IE打印时删除网页的颜色

时间:2010-02-09 15:00:38

标签: javascript html css internet-explorer printing

HI, 我有一个背景颜色的网站,在打印时很重要,但IE删除了页面上的所有颜色。 我知道有一些设置可以在IE上禁用它,但我不能依赖用户进入IE设置来禁用IE中的此选项。

有没有办法从我的网页上禁用此功能,或者某种方式将其禁用?

提前致谢。

5 个答案:

答案 0 :(得分:6)

您无法在代码中修改浏览器设置(请考虑安全隐患)。您的用户必须明确允许背景颜色/图像,或者您必须为他们提供要打印的图像。另一种选择是提供使用完全不同风格的打印纸,并且不依赖于背景颜色/图像。

答案 1 :(得分:1)

只是为了补充乔纳森所说的话:

<link rel="stylesheet" type="text/css" media="print" href="print.css">

定义'print.css'打印时的外观。

答案 2 :(得分:0)

浏览器中的默认设置是打印背景。大多数人(99.99%)甚至不知道他们可以设置浏览器来打印背景。

您可以提供PDF文件进行打印。可以使用Wordprocessor或DTP应用程序生成此PDF文件。

答案 3 :(得分:0)

您可以使用所选颜色的1x1像素图像,而不是使用背景颜色,该图像会缩放以填充您想要着色的元素。您可以使用css-styles执行此操作:

.background {
  float: left;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
}

<table>
<tr>
  <td>Test</td>
  <td>
     <img class="background" src="blue.png">
     Colored element
  </td>
</tr>
</table>

答案 4 :(得分:0)

您无法更改用户的设置,但如果它非常重要并且您想要进行额外的工作,则可以使用将打印的图像(至少在IE和FF中)。您可以创建一个打印样式表,将内容浮动到纯色图像上。

我之前必须为标题和页脚之类的东西做这件事,这是一个非常丑陋的黑客,如果你需要平铺背景,它可能会令人沮丧,但它确实有效。