如何禁用鼠标右键单击网页?
我想禁用鼠标右键单击HTML页面。 我有一个页面,用户必须输入详细信息。 我不希望用户看到用鼠标右键单击显示的菜单。相反,我想显示一个自定义菜单。我知道有一些插件可以做到这一点。但我的要求不需要任何插件。如何禁用鼠标右键单击网页?
这是不专业的,反正这将与JavaScript的工作原理启用:
document.oncontextmenu = document.body.oncontextmenu = function() {return false;}
您可能还需要返回false之前显示一条消息给用户。
但是我不得不说,这不应该被一般,因为它限制了用户的选择不解决这个问题做了(其实上下文菜单可以很容易地再次启用)。
下面的文章更好地解释为什么这不应该做的,可以采取什么其他措施以解决常见的相关问题: http://articles.sitepoint.com/article/dont-disable-right-click
此外,这不是一个全部,并最终解决方案,他们可能只是禁用js和嘿presto。 – Kezzer 2010-08-10 09:43:13
为什么不只是'document.oncontextmenu = function(){return false; }'? – 2017-08-23 21:31:41
可以使用oncontextmenu事件这样做的。
但是,如果用户关闭JavaScript的,那么你将无法处理这个问题。
window.oncontextmenu = function() {
return false;
}
将禁用右键菜单。
首先,如果你这样做只是为了防止有人查看源代码你的网页 - 它不会工作,因为他们总是可以使用键盘快捷键来查看它。其次,你将不得不使用JavaScript来实现这一点。如果用户禁用JS,则无法阻止右键单击。
也就是说,将此添加到您的身体标记以禁用右键点击。
<body oncontextmenu="return false;">
<body oncontextmenu="return false;">
适用于Google Chrome浏览器。不确定其他浏览器。
注意,所有的人所要做的就是禁用JavaScript才能看到右键菜单反正。
请不要这样做,这是非常烦人的。
右键菜单中是有原因的,它应该离开那里。 许多浏览器扩展将条目添加到右键单击菜单,用户应该能够在他访问的任何页面中使用它。
此外,您可以通过其他方式(键盘快捷键,浏览器菜单等等)使用右键单击菜单的所有功能,因此阻止右键单击菜单具有恼人用户的唯一效果。
PS:如果真的是你无法抗拒的冲动,阻止它至少不要放在一个弹出说:“没有允许右键点击”。
试试这个:下面写代码的身体&感到神奇:)
body oncontextmenu="return false"
您可以用JavaScript和/或HTML属性(这实在是一个Javascript事件处理程序是这样)做如下描述:http://www.codeproject.com/KB/aspnet/Disabling_the_right_click.aspx
<script language="javascript">
document.onmousedown=disableclick;
status="Right Click Disabled";
Function disableclick(event)
{
if(event.button==2)
{
alert(status);
return false;
}
}
</script>
和
<body oncontextmenu="return false">
...
</body>
//禁用右键点击脚本通过java脚本代码
<script language=JavaScript>
//Disable right click script
var message = "";
///////////////////////////////////
function clickIE() {
if (document.all) {
(message);
return false;
}
}
function clickNS(e) {
if (document.layers || (document.getElementById && !document.all)) {
if (e.which == 2 || e.which == 3) {
(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = clickNS;
} else {
document.onmouseup = clickNS;
document.oncontextmenu = clickIE;
}
document.oncontextmenu = new Function("return false")
</script>
window.oncontextmenu = function() {
return false;
}
可能对您有帮助。
默默无闻的安全性? – 2010-06-21 10:25:01
菜单有什么问题?它属于用户,所以留给他。 *想象一下,用户不理解单词并希望使用可通过上下文菜单访问的一些翻译服务。* – 2010-06-21 10:27:00
为什么你想要这样做?如果该页面不能像所有其他网页一样工作,许多用户会感到困惑。 – 2010-06-21 10:27:11