在javascript中捕获CTRL + P并调用自定义函数进行打印

Jay*_*ran 0 javascript javascript-events

我有一个网页,我在流行音乐中显示结算信息.此弹出窗口是DIV而不是新窗口.在那个弹出窗口中,有两个div用于保持打印和关闭按钮,另一个用于保存iframe.

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

<div id='popupandcenterscreen'>
<div>... print and close buttons</div>
<div><iframe></div>
</div>
Run Code Online (Sandbox Code Playgroud)

因此,它是一个列表,其中每个条目都有一个账单链接,当点击弹出窗口时,其中加载iframe以显示账单信息.

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

但是,当用户使用CTRL + P时,包括背景资格父窗口在内的总窗口将打印出来.

我认为在弹出窗口打开时捕获ctrl + p并仅打印iframe内容.

怎么可能呢?

tda*_*ers 5

我认为更好的解决方案是通过@mediaCSS中的规则控制渲染,或者根据媒体类型包含不同的样式表.然后,您可以使用CSS属性display来隐藏一些要打印的元素,甚至可以为它们提供不同的大小和位置.

  • 但这并不容易.首先,您不知道某个用户代理用于打印的组合键.其次,用户代理可以提供调用打印命令的其他手段(例如,点击菜单).javascript没有标准化的方法来捕获打印命令,并且有充分的理由.只需为用户代理提供足够的提示即可生成出色的输出,并让它完成其工作. (2认同)