繁体   English   中英

用户选择文件->打印时,仅打印iframe的内容

[英]Printing only the contents of an iframe when a user selects file->print

问题:

我有一个应用程序,可将其他服务器上的内容加载到<iframe> 用户希望能够在iframe中打印内容,该内容有时会很长,并导致iframe滚动。 打印时,仅打印iframe视口中显示的区域。 其余的被切断。

我试过的

使用@media print样式,我可以隐藏页面上的所有其他元素,并将iframe扩展为100%的宽度和高度。 我不能做的就是将AFAICT的大小调整为实际内容的w / h(仅使用CSS),因此,如果100%不够,内容将被截断。

我知道这可以通过javascript解决,但是浏览器不能始终为文件-> print提供事件挂钩,因此我无法在需要时运行javascript。

我可以创建一个自定义的“打印”按钮,以便可以运行JS并正确打印iframe,但不允许“打印预览”,因为浏览器没有为此提供JS方法。

我被困在这里,有答案吗?

如果要打印iframe的内容,可以使用

document.getElementById('ifr1').contentWindow.print()

这将在iframe(而不是容器窗口)的内容上调用print() )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM