如何在所有浏览器中禁用网页的打印屏幕功能
How can I disable print-screen functionality for a webpage in all browsers?
使用以下方法,我们可以在Internet Explorer中禁用打印屏幕或屏幕截图:
<body onload=setInterval("window.clipboardData.setData('text','')",2)
oncontextmenu="return false" onselectstart="return false">
但这些在Mozilla,Chrome和其他浏览器中不起作用。
有没有更好的方法来禁用打印屏幕/屏幕截图?
是什么让你认为人们是否应该能够截取屏幕截图是你的决定?
幸运的是,没有浏览器,但IE允许您通过JavaScript访问剪贴板,因此您不走运:)
顺便说一句,如果我访问了您的网站并且它弄乱了我的剪贴板(它覆盖了其中的任何内容,即使它与您的网站无关) - 我可能在其中存储了一些我刚刚从某个文件中剪切的东西,我打算粘贴到不同的文件中,多亏了您的网站,它现在会丢失。
所以,结论是:别再做这样的废话了。
这是一个操作系统函数,也是一个页面函数和一个打印函数,所以你需要做一些事情 - 以下步骤特定于窗口,但可以在任何具有相同概念的操作系统中实现 -
- 禁用操作系统的打印屏幕 水平
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();
}
然后,作为额外的,要禁用打印和项目,您需要将打印介质标记为显示无
@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");
}
- 如何删除在PHP中打印网页时显示的URL
- 如何使用 html2canvas 打印网页
- 如何打印网页中的所有图像?(打印机)
- 从网页打印后用javascript关闭选项卡
- 图表打印后在网页上没有响应
- 打印的网页无法正确放置在A4页面上
- 如何在网页中插入打印表单的“打印”按钮
- Javascript 打印多个网页 iFrame 内容(全部打印按钮)
- 如何从第二个打印页面开始打印网页页脚
- 通过 JavaScript 打印网页的子集
- Javascript没有运行,只是在空白网页上打印出整个代码
- 打印您的网页屏幕并发送带有打印图像的电子邮件
- 从网页边缘到边缘打印 SVG
- 网页 在两个打印页面中打印
- 图像打印我的网页中的文档
- JavaScript window.print() Internet Explorer 8 不打印整个网页
- 如何使用php代码使网页打印友好
- 从服务器端触发网页打印
- 网页打印按钮不工作
- 如何使用php将当前网页打印为pdf文件?