2010-08-10 32 views
0

我有一个网页,我在pop中显示结算信息。这个弹出窗口是一个DIV,而不是一个新窗口。 在该弹出窗口中,有两个div用于保存打印和关闭按钮 ,另一个用于保存iframe。在javascript中捕获CTRL + P并调用打印的自定义函数

然后,原因是当单击打印按钮时打印iframe的内容,以便打印和关闭按钮不会打印。它像...

<div id='popupandcenterscreen'> 
<div>... print and close buttons</div> 
<div><iframe></div> 
</div> 

所以,在这里单击显示的弹出其中一个iframe装载显示的结算信息,每个条目有一个法案链接的列表。

当用户单击打印按钮时,我们只打印iframe的文档内容。

但是,当用户使用CTRL + P时,会打印包括背景父窗口和此弹出窗口的总窗口。

我认为当弹出窗口打开时只能打印ctrl + p并仅打印iframe内容。

这怎么可能?

回答

5

我认为一个更好的解决方案是通过@media规则在你的CSS中控制渲染,或者包括基于媒体类型的不同样式表。然后,您可以使用像display这样的CSS属性来隐藏一些要打印的元素,甚至可以给它们不同的大小和位置。

+0

只是想指出一篇描述这个话题的文章。 http://www.alistapart.com/articles/goingtoprint/ – grm 2010-08-10 07:32:04

+0

+1这正是打印样式表的用途。不要试图用不可靠的JavaScript破解它。 – bobince 2010-08-10 09:47:59

+0

好的。我认为这将是一个10行脚本的问题,我觉得比使用CSS修复容易。 – 2010-08-11 09:53:53

1

使用Css会比JavaScript更好。

最终结果可能与其他结果相同,但在Css中会更容易,并且不太“哈克”。

如果你只使用JavaScript来排列当用户按下Ctrl + P时打印时显示的元素,它将起作用。

但是,如果用户单击菜单中的打印,您需要打印样式表来整理页面。

相关问题