我在加载整个页面后通过JS从服务器加载一些图片。 用户点击意味着加载一些图像并将其插入DOM。
此图片具有唯一ID,现在我想通过JS帮助打印出此图像。 我为打印目的做了样式文件
* {
display:none;
visibility: none;
}
html, body, #out_image_1 {
background: none;
display: block !important;
left: 0px;
margin: 0px;
padding: 0px;
position: relative;
top: 0px;
}
并调用print
$("#print-button2").click(function() {
window.print();
return false;
})
但是页面是空白的(空的)我哪里错了?
由于
答案 0 :(得分:1)
有几个原因可能无法打印。
您的图片可能包含在其他元素中,但根据您的CSS,父元素仍为display:none
只有当#out_image_1
是body
的直接孩子时,您的CSS才有效:
http://jsfiddle.net/RXMx8/
但如果#out_image_1
除了body
和html
之外还有任何其他父元素,则不会这样:
http://jsfiddle.net/RXMx8/1/
我认为这是问题,但其他原因可能是:
默认情况下,您的浏览器未设置为打印图像。使用window.print()
可以跳过“打印预览”,这可以让您切换此设置。
您的HTML没问题,但您的目标是错误的元素。
你失去了墨水; )
即使您使用javascript添加元素,您仍然可以打印它。要进行调试,请删除* { display:none; }
并查看会发生什么。
*顺便说一下,它应该是visibility: hidden;
; “none”不是一个有效的值,但它对display:none
来说是多余的,所以你根本不需要它。