使用以下方法可以在Internet Explorer中禁用打印屏幕或截图:
<body onload=setInterval("window.clipboardData.setData('text','')",2)
oncontextmenu="return false" onselectstart="return false">
但是这些方法在Mozilla、Chrome和其他浏览器中不起作用。
有没有更好的方法来禁用打印屏幕/截图?
使用以下方法可以在Internet Explorer中禁用打印屏幕或截图:
<body onload=setInterval("window.clipboardData.setData('text','')",2)
oncontextmenu="return false" onselectstart="return false">
但是这些方法在Mozilla、Chrome和其他浏览器中不起作用。
有没有更好的方法来禁用打印屏幕/截图?
你认为是不是由你决定别人是否可以截屏呢?
幸运的是,除了IE浏览器外,其他浏览器都不能通过JavaScript访问剪贴板,所以你没有机会 :)
顺便说一下,如果我访问了你的网站,它损坏了我的剪贴板(即使与你的网站无关的内容也被覆盖了),那么我可能已经在里面存储了某些东西,刚刚从某个文件中复制并要粘贴到另一个文件中,现在由于你的网站,它将永久丢失。
因此,结论是:别再做这种破事了。
这是一个操作系统功能,也是页面功能和打印功能,因此有一些事情需要做 - 以下步骤针对Windows,但可以在具有相同概念的任何操作系统中实现 -
Here are the steps of disable Print Screen key:
1.Copy the following registry to notepad and saved as a .reg file.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,00,00,2a,e0,00,00,37,e0,\
00,00,54,00,00,00,00,00
2.Apply the registry
3.Sign out and sign in again.
如果您使用的是具有增强打印屏幕功能的 Chrome、Edge 或 Firefox 扩展程序,则需要阻止浏览器捕获屏幕的能力。此外,为了加强保护措施,可以禁用右键点击(我将其放在文档上,但您也可以按 DOM 进行设置)。
document.addEventListener('contextmenu',
event => event.preventDefault());
window.addEventListener("keyup",kPress,false);
function kPress(e)
{
var c=e.keyCode||e.charCode;
if (c==44) event.preventDefault();
}
然后作为额外的步骤,要禁用打印和项目,您需要将打印媒体标记为 display none
@media print {
.noprint {
visibility: hidden;
}
}
如果您想要符合POPIA/GDPR的规定,您必须禁用诸如pdf下载、对象引用等功能。作为额外的奖励项目,使用PDF.js将pdf渲染为html,并完全控制PDF的呈现、下载和打印。
此参考允许密码输入,并成功地使我们完全控制从受保护站点捕获或保存信息的所有功能。
https://usefulangle.com/post/22/pdfjs-tutorial-2-viewing-a-password-protected-pdf
window.addEventListener("keyup",kPress,false);
function kPress(e)
{
var c=e.keyCode||e.charCode;
if (c==44) alert("print screen");
}