我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
当前回答
你可以用JavaScript为"contextmenu"事件添加一个事件监听器,并调用preventDefault()方法:
document.addEventListener('contextmenu', event => event.preventDefault());
也就是说:不要这么做。
为什么?因为它只会惹恼用户。此外,许多浏览器都有一个安全选项来禁止禁用右键(上下文)菜单。
不知道你为什么想这么做。如果是出于某种错误的信念,认为可以通过这种方式保护源代码或图像,请再想想:您不能这样做。
其他回答
有几件事需要考虑:
像chrome商店中“启用右键”这样的浏览器插件的存在是有原因的,你无法绕过它们。你根本无法阻止人们下载你的内容,因为他们必须下载你的内容才能在浏览器中看到;人们尝试,但它总是在那里。
一般来说,如果内容不应该公开,就不要放在网上。
此外,不能右击也是一个可访问性问题,在许多情况下相当于对盲人、残疾人或老年人的非法歧视。查看你当地的法律,但在美国,它以联邦ADA的形式积极反对法律,因为盲人或老年人可能有视力问题,是一个受法律保护的阶层。
所以与其这样做,浪费大量的时间和精力,还不如不要费心去做这个。这可能会让你的公司被起诉,或者让他们无法通过合规审计。
使用此功能可以禁用右键操作。你可以禁用左键点击也检查1和0对应
document.onmousedown = rightclickD;
function rightclickD(e)
{
e = e||event;
console.log(e);
if (e.button == 2) {
//alert('Right click disabled!!!');
return false; }
}
试试这个
<script language=JavaScript>
//Disable right mouse click Script
var message="Function Disabled!";
function clickIE4(){
if (event.button==2){
alert(message);
return false;
}
}
function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
alert(message);
return false;
}
}
}
if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}
document.oncontextmenu=new Function("alert(message);return false")
</script>
如果你的目标是阻止别人下载你的图片,就像大多数人说的那样,禁用右键几乎是无效的。
假设您正在尝试保护图像,替代方法是-
使用flash播放器,用户无法下载,但他们可以轻松地进行屏幕捕捉。
如果你想更笨拙,使图像的背景一个div,包含一个透明的图像,à la -
<div style="background-image: url(YourImage.jpg);">
<img src="transparent.gif"/>
</div>
将足以阻止随意窃取您的图像(参见下面的示例),但与所有这些技术一样,如果对html有基本的了解,就很难击败它们。
如果不使用Javascript,您就无法完成您的要求。您可以选择使用的任何其他技术只能帮助在服务器端组成web页面,然后发送到浏览器。
没有好的解决方案,没有Javascript的解决方案周期。