【问题标题】:How to capture printscreen event in Javascript?如何在 Javascript 中捕获 printscreen 事件?
【发布时间】:2012-05-21 14:15:34
【问题描述】:

我正在尝试编写一个包含一些敏感内容的 Web 应用程序。我已经阻止了复制和粘贴。如何检测何时有人按下 printscreen 键,以便在按下时隐藏数据?

不用担心手机/相机/录屏软件,因为它们不是在环境中使用的。

【问题讨论】:

  • 我认为没有任何方法可以做到这一点。而 print-screen 是一个操作系统进程,您应该考虑禁用用户操作系统中的密钥
  • printscreen 键取决于您的操作系统。例如,Mac 根本没有它,Linux 的实现方式也与 Windows 不同 - 还有其他屏幕捕获方法和实用程序,因此您永远不会真正安全。我的意思是我可以用一支笔写下来。或者我可以保存页面。
  • 即使可以,用户也可以使包含敏感内容的窗口失焦,然后打印屏幕。
  • 或者用户可以禁用javascript。你无法控制这些事情。

标签: javascript html screenshot dom-events


【解决方案1】:

简短的回答是,您无法可靠地检测或干扰打印屏幕功能。这不是浏览器功能,而是用户系统的功能,因此在大多数情况下,事件会在您尝试检测它的环境之外触发。html、css 或 javascript 都无法侦听该事件,或阻止其默认设置以可靠的方式采取行动。您应该重新考虑保护您的内容的策略,并接受这样一个现实,即无论您做什么,人们总会有办法“窃取”它。

编辑:

我在想,你可以编写一个 java 小程序来检测打印屏幕事件触发,因为 java 可以访问系统事件。但我没有费心研究如何做到这一点,因为该功能取决于两件事 - 用户在其浏览器中安装并启用了 java,以及授予其安全权限的 java applet 去窥探系统事件。

只是出于兴趣:https://stackoverflow.com/a/29965963/4933137

【讨论】:

    猜你喜欢
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    相关资源
    最近更新 更多