如何阻止用户打印网页? 使用javascript或jquery

我们如何阻止用户使用不同的方法打印网页?

  1. 禁用右键单击
  2. 禁用Ctrl P组合键
  3. 右键单击 – >打印

有没有办法停止打印网页?

我们可以使用javascript处理这3个事件吗? 或者我们可以说。 如果用户将执行任何这些事件。 然后我想运行我的其他代码。这可能吗?

用户计算机上的网页无法控制。 用户可以执行他或她想做的任何事情,但是您可以提供PDF并禁用打印PDF。 不过,如果我必须打印一些东西,我会找到一种方法来打印它。

正如已经指出的那样,你不能这样做。 但是,一个常用的技巧是尝试隐藏所有页面内容(如果正在打印):

 

但这并不能保证工作,如果你对你正在做的事情有一个模糊的想法,它很容易解决。

你不能 。 别再浪费你的时间了。

一旦用户将您网站的数据下载到他的计算机上, 您就无法再对其进行控制了。 如果您不希望用户按照自己的喜好进行操作,请不要将其放在公共网站上。

我知道这个问题很久以前就被问到并回答了,但是我发现它并且觉得我应该把我的2美分投入。我有一个程序里面有一些版权信息,我们希望最终用户不是能够打印这些信息,所以我所做的是创建一个单独的div,我给了类.printable

我将这些行添加到CSS工作表中

 .printable { display:none; } @media only print { .container { display:none !important; } <-- This is the wrapper container for all of the site data .printable { display:block !important; } <-- This is my added printable container with a message about not printing the page } 

随着主流浏览器中新CSS引擎的改进,即使他们进行了右键单击+打印,它也会显示.printable框而不是内容。

但是,有人指出,没有办法阻止用户使用一块屏幕捕获软件来打印信息,如果他们真的想要的话。 我们认为,通过阻止印刷,我们将阻止大约99%可能以其他方式印刷信息的人。

那是我的2美分...希望它有助于某人

将此块添加到CSS中

 @media print { body { display: none; } } 

这应该在打印时隐藏所有内容。

没有可靠的方法来做到这一点。 您可以拦截某些按键等并使用脚本取消它们,但是当用户禁用了脚本时,则无法进行预防。 此外,打印function内置于实际的浏览器本身,您实际上无法阻止这一点。

即使是像Aviary这样的浏览器插件也会抓取浏览器的屏幕截图并将其复制到内存中,这样您就无法阻止这种情况发生。 然后用户可以从photoshop或paint .net等打印。

我建议你尝试的唯一一件事是你可以包含一个print.css样式表。 在该样式表中,您可能希望尝试将任何敏感内容设置为display:none。 但是,即使这样也无法保证,因为用户可以简单地禁用样式表。

我不会打击用户的期望。 请勿更改默认行为。

如果您在用户的浏览器上呈现某些内容,则它将成为用户的控制权。 你无法抗拒用户打印。

如果您希望向用户显示某些信息,并且您不希望用户能够进行打印,则可以使用类似PDF的内容并防止打印。

你的用法是什么?