Javascript 打印从服务器加载的内容
在整个页面加载之后,我正在通过JS从服务器加载一些图片。 也就是说,通过用户单击,我正在加载一些图像并将其插入DOM 这个图像有唯一的ID,现在我只想通过JS帮助打印出这个图像。 我做样式文件是为了打印Javascript 打印从服务器加载的内容,javascript,html,css,browser,printing,Javascript,Html,Css,Browser,Printing,在整个页面加载之后,我正在通过JS从服务器加载一些图片。 也就是说,通过用户单击,我正在加载一些图像并将其插入DOM 这个图像有唯一的ID,现在我只想通过JS帮助打印出这个图像。 我做样式文件是为了打印 * { display:none; visibility: none; } html, body, #out_image_1 { background: none; display: block !important; left: 0px; mar
* {
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-button2").click(function() {
window.print();
return false;
})
但页面是空的,我错在哪里
谢谢它可能不打印有几个原因
- 您的图像可能包含在另一个元素中,但根据CSS,父元素仍然是
只有当display:none
是#out_image_1
的直接子项时,CSS才会起作用:body
但如果
具有除#out_image_1
和主体
之外的任何父元素,则不适用于此:html
- 默认情况下,浏览器未设置为打印图像。使用
可能会跳过“打印预览”,从而允许您打开此设置window.print()
- 您的HTML是可以的,但是您的目标元素是错误的
- 你的墨水用完了;)
*{display:none;}
,然后查看发生了什么
*顺便说一下,它应该是
可见性:隐藏代码>;“none”不是有效值,但它与display:none>是多余的,因此您根本不需要它。它可能不打印有几个原因
- 您的图像可能包含在另一个元素中,但根据CSS,父元素仍然是
display:none
只有当#out_image_1
是body
的直接子项时,CSS才会起作用:
但如果#out_image_1
具有除主体
和html
之外的任何父元素,则不适用于此:
我打赌这就是问题所在,但其他原因可能是:
- 默认情况下,浏览器未设置为打印图像。使用
window.print()
可能会跳过“打印预览”,从而允许您打开此设置
- 您的HTML是可以的,但是您的目标元素是错误的
- 你的墨水用完了;)
即使使用javascript添加元素,也应该能够打印它。要进行调试,请删除*{display:none;}
,然后查看发生了什么
*顺便说一下,它应该是可见性:隐藏代码>;“none”不是有效值,但它与display:none>是多余的,因此您根本不需要它。是的,您是对的。如果我的图像不是身体的直接子元素,有没有办法解决这个问题?你必须确保所有的父元素都显示出来。如果没有看到您的脚本或HTML,我无法准确地告诉您。我是否可以将此img标记作为正文的直接子项移动,以便打印完成后将其恢复到以前的位置?老实说,我不确定,它可能会工作,但可能不会。试试看。您可以尝试加载一个单独的窗口,其中包含一个只打印的页面,调用window.print()
,然后调用window.close()
,但这很有技巧。但是隐藏的iframe呢?是否可以通过js加载图像,然后调用window.print并在帮助下将CSS设置为inly可见,用于定义宽度和高度的iframe?你认为呢?是的,你是对的。如果我的图像不是身体的直接子元素,有没有办法解决这个问题?你必须确保所有的父元素都显示出来。如果没有看到您的脚本或HTML,我无法准确地告诉您。我是否可以将此img标记作为正文的直接子项移动,以便打印完成后将其恢复到以前的位置?老实说,我不确定,它可能会工作,但可能不会。试试看。您可以尝试加载一个单独的窗口,其中包含一个只打印的页面,调用window.print()
,然后调用window.close()
,但这很有技巧。但是隐藏的iframe呢?是否可以通过js加载图像,然后调用window.print并在帮助下将CSS设置为inly可见,用于定义宽度和高度的iframe?你怎么认为?