使用javascript禁用打印屏幕键

使用javascript禁用打印屏幕键,javascript,security,Javascript,Security,我正在尝试禁用网站上的打印屏幕键。这就是我到目前为止所做的: <SCRIPT type="text/javascript"> focusInput = function() { document.focus(); }; processKeyEvent = function(eventType, event) { if (window.event) { event = window.event; } if(event.k

我正在尝试禁用网站上的打印屏幕键。这就是我到目前为止所做的:

<SCRIPT type="text/javascript">
focusInput = function()
{
    document.focus();
};

processKeyEvent = function(eventType, event)
{
    if (window.event)
    {
        event = window.event;    
    }
    if(event.keyCode == 44) 
    {
        alert("Photos are copyright 2011");
        return(false);
    }
}
processKeyUp = function(event)
{
    processKeyEvent("onkeyup", event);
};

processKeyDown = function(event)
{
    processKeyEvent("onkeydown", event);
};

document.onkeyup = processKeyUp;
document.onkeydown = processKeyDown;

</SCRIPT>

焦点输入=函数()
{
document.focus();
};
processKeyEvent=函数(事件类型,事件)
{
if(window.event)
{
event=window.event;
}
如果(event.keyCode==44)
{
警告(“照片版权所有2011”);
返回(假);
}
}
processKeyUp=函数(事件)
{
processKeyEvent(“onkeyup”,事件);
};
processKeyDown=函数(事件)
{
processKeyEvent(“onkeydown”,事件);
};
document.onkeyup=processKeyUp;
document.onkeydown=processKeyDown;

但这不起作用。如何禁用“打印屏幕”键以防止用户对我的网站进行快照?

您不能。这超出了您的控制范围,因为打印屏幕(与浏览器中的打印图标/Ctrl-P不同)不是浏览器功能,而是系统功能


此外,任何此类尝试都是徒劳的,最终会适得其反。因为你会激怒Joe Random的用户,他们想打印页面,因为他们想在公交车上或其他什么地方阅读,并且不会阻止那些想滥用图像的人,因为他们总是可以利用这样一个事实,即设备最终处于他们的物理控制之下,世界上没有任何软件可以对其进行任何攻击修改设备(例如,使用带有屏幕捕获功能的显示器)。

即使您希望用户不拍摄屏幕截图,也无法阻止他们检查页面来源并直接下载图像,或使用Fraps等屏幕捕获软件,甚至只是拍摄(低质量)照片他们的手机屏幕图片。如果用户真的想使用你的照片,他们会找到一种解决方法。如果你想让用户遵守版权,请投资一些律师,积极起诉你怀疑侵犯你图片的所有人,并在你的网站上标明你将这样做。然后看着你的用户数直线下降……我个人会通过点击任务栏将焦点放在那里,然后按下PrntScr;)来绕过这一点请给我您的代码niet the dark absol-1,因为不要这样做“使用带有屏幕捕获功能的监视器”--有人可以使用具有自己捕获功能的虚拟机。@hexafraction:虚拟机可能被检测到(通过某些软件,而不是普通的浏览器),但没有软件可以对捕获显示单元做任何事情。所以我提到这是一个更普遍的论点,即任何软件拷贝保护都不会对坚定的对手起作用。