Javascript 如何打印带有背景图像的网页?

Javascript 如何打印带有背景图像的网页?,javascript,css,browser,printing,Javascript,Css,Browser,Printing,我试图用IE打印一个带有背景图像的网页表单;现在的问题是,它没有在打印中显示背景图像。有没有办法修复它,因为我尝试了很多技巧,但没有一个真正起作用。如果你们中的任何一个人以前修复过它,请分享。第一次点击谷歌: 刚刚选中,该选项仍在IE8中 默认情况下,不打印背景色和图像,可能是为了节省墨水。查看本文: 我使用它来创建自定义打印页面,与屏幕上的页面不同。如果它仅用于背景图像,您可以尝试右键单击背景,然后选择类似“显示背景图像”的内容 但是,如果您想将网页作为一个整体,您可以尝试“打印屏幕”,然后

我试图用IE打印一个带有背景图像的网页表单;现在的问题是,它没有在打印中显示背景图像。有没有办法修复它,因为我尝试了很多技巧,但没有一个真正起作用。如果你们中的任何一个人以前修复过它,请分享。

第一次点击谷歌:

刚刚选中,该选项仍在IE8中

默认情况下,不打印背景色和图像,可能是为了节省墨水。

查看本文:


我使用它来创建自定义打印页面,与屏幕上的页面不同。

如果它仅用于背景图像,您可以尝试右键单击背景,然后选择类似“显示背景图像”的内容


但是,如果您想将网页作为一个整体,您可以尝试“打印屏幕”,然后在paint中打开新制作的位图并打印出来。

转到“工具”>“Internet选项”,单击“高级”选项卡。向下滚动到名为“打印”的标题,检查打印背景颜色和图像

此说明适用于IE 8.0,但对于较旧版本,应大致相同


这是默认为未选中的,因为不是每个人都想打印花哨的内容,而只想打印文本。。但是现在,想要所有的东西都在印刷品中是很正常的

这里有两篇非常好的帖子,之前在stackoverflow中被问及:


它们都参考列表样式用法。

默认情况下,IE不会打印背景图像和颜色-这是一种浏览器设置,用于节省墨水/提高打印输出的易读性

除了告诉用户更改此设置外,您唯一能做的就是使用真实图像元素而不是背景图像,并使用CSS将文本放置在前面


为什么需要打印背景图像?如果是因为背景图像较暗,而前面的文本较亮,因此在打印时无法读取,那么您可以使用只打印的样式表来设置较暗的文本。

这仅适用于可能会花费大量时间打印css背景图像的人。 这可能不是100%有效,但您可以从这里选择

解决方案:如果UI中存在重叠图像,则不可能

 $('#rootdiv').find('div').each(function(){
    if( $(this).css("background-image") !=  "none"){

        $(this).css("overflow" ,"hidden").css("position", "relative");
        $(this).prepend('<img style="display: block;position: absolute;" src="'+$(this).css("background-image").replace(/"/g,"").replace(/url\(|\)$/ig, "")+'">');

        $(this).css("background",'..');

    }
 });

注意:要在页面上打印半幅图像,我们需要为div设置一个宽度,即$this小于src在上面动态创建的img标记中指定的背景图像的实际宽度,它将显示切片图像

,这在IE11中仍然可行吗?我在任何地方都看不到这种设置