如何禁用浏览器中特定页面的打印选项

14

环境:jQuery、Richfaces、所有主流浏览器

如何禁用浏览器在某些页面上的打印选项(例如 文件 -> 打印预览,打印)

2个回答

26

您无法禁用实际的按钮/菜单项,但您可以在需要的页面中使用以下内容来防止打印:

<style type="text/css" media="print">
BODY {display:none;visibility:hidden;}
</style>

9
请注意,尽管这种方法表面上可行,但很容易被规避。如果将页面显示给某人,完全阻止他们打印页面是不可能的。 - AnnanFay
你会如何规避这个问题? - Rolando
8
从我脑海中想到的方法是,截屏后粘贴到图像编辑器中,然后打印出来。或者如果你想真正地“黑客”进入它,只需使用浏览器提供的开发者工具编辑CSS,并移除答案中提到的CSS规则。 - Munim

11

你无法禁用浏览器的打印按钮,但是你可以使用print @media CSS来隐藏某些部分或整个页面以便不被打印。例如,你可以使用以下CSS:

@media print {
  html, body {
    display: none;  /* hide whole page */
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接