我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
当前回答
我知道我迟到了,但我想为我将要提供的答案创建一些假设和解释。
我可以禁用右键吗?
我可以禁用右击在我的网页不使用Javascript?
是的,通过使用JavaScript,你可以禁用任何发生的事件,你可以只通过JavaScript做到这一点。你只需要:
工作硬件 一个网站或其他地方,你可以从那里了解密钥代码。因为你会需要他们。
现在假设你想阻止回车键这里是代码:
function prevententer () {
if(event.keyCode == 13) {
return false;
}
}
右击使用这个:
event.button == 2
在event.keyCode的位置。你会阻止它。
我想问这个问题是因为大多数浏览器允许用户通过Javascript禁用它。
你是对的,浏览器允许你使用JavaScript, JavaScript为你做了所有的工作。你不需要设置任何东西,只需要在头部的脚本属性。
为什么不应该禁用它?
最主要和最快速的答案是,用户不会喜欢它。每个人都需要自由,没有人我的意思是没有人想被屏蔽或禁用,几分钟前我在一个网站上,它阻止了我的右键点击,我想为什么?您需要保护源代码吗?然后这里按ctrl+shift+J,我已经打开了控制台,现在我可以去HTML-code选项卡。来阻止我吧。这不会给你的应用程序添加任何安全层。
有很多有用的菜单在右键单击,如复制,粘贴,搜索谷歌的“文本”(在Chrome中)和更多。因此,用户希望获得方便的访问,而不是记住大量的键盘快捷键。任何人仍然可以复制上下文,保存图像或做任何他想做的事情。
浏览器使用鼠标导航:一些浏览器如Opera使用鼠标导航,所以如果你禁用它,用户肯定会讨厌你的用户界面和脚本。
所以这是基本的,我打算写一些关于保存源代码的东西,呵呵,但是,让它成为你问题的答案。
键码参考:
按键和鼠标按键代码:
http://www.w3schools.com/jsref/event_button.asp
https://developer.mozilla.org/en-US/docs/Web/API/event.button(也会受到用户的赞赏)。
为什么不禁用右键:
http://www.sitepoint.com/dont-disable-right-click/
其他回答
使用此功能可以禁用右键操作。你可以禁用左键点击也检查1和0对应
document.onmousedown = rightclickD;
function rightclickD(e)
{
e = e||event;
console.log(e);
if (e.button == 2) {
//alert('Right click disabled!!!');
return false; }
}
首先,如果不使用客户端功能,就无法实现这一点。这是javascript运行的地方。
其次,如果您试图控制终端用户可以从您的网站消费什么,那么您需要重新考虑如何显示这些信息。图像有一个公共url,可以通过HTTP获取,而不需要浏览器。
身份验证可以控制谁可以访问哪些资源。
在图像中嵌入水印可以证明图像来自特定的人/公司。
归根结底,资源管理实际上是用户/客户管理。
互联网的第一条规则,如果你不想让它被拿走,就不要让它公开!
互联网的第二条规则,如果你不想要它被拿走,就不要把它放在网上!
就这么做
在body标签上写入oncontextmenu
<body oncontextmenu="return false">
最初的问题是关于如何在用户可以禁用JavaScript的情况下停止右击:这听起来邪恶而邪恶(因此有负面的回答)——但所有的副本都重定向到这里,即使许多副本的目的不那么邪恶。
例如,在HTML5游戏中使用右键按钮。这可以用上面的内联代码来实现,或者像这样更好一点:
document.addEventListener("contextmenu", function (e){
e.preventDefault();
}, false);
但如果你正在制作一个游戏,那么请记住,右键按钮会触发上下文菜单事件——但它也会触发常规的鼠标下拉和鼠标上拉事件。因此,您需要检查事件的which属性,以确定触发事件的是左(which === 1)、中(which == 2)或右(which === 3)鼠标按钮。
下面是jQuery的一个例子——注意,按下鼠标右键将触发三个事件:鼠标按下事件、上下文菜单事件和鼠标起事件。
// With jQuery
$(document).on({
"contextmenu": function (e) {
console.log("ctx menu button:", e.which);
// Stop the context menu
e.preventDefault();
},
"mousedown": function(e) {
console.log("normal mouse down:", e.which);
},
"mouseup": function(e) {
console.log("normal mouse up:", e.which);
}
});
所以如果你在游戏中使用鼠标左右键,你就必须在鼠标处理程序中执行一些条件逻辑。
简单的方法:
<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false">