我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
当前回答
Javascript:
document.getElementsByTagName("html")[0].setAttribute("oncontextmenu", "return false");
其他回答
<script>
window.oncontextmenu = function () {
console.log("Right Click Disabled");
return false;
}
</script>
如果不使用Javascript,您就无法完成您的要求。您可以选择使用的任何其他技术只能帮助在服务器端组成web页面,然后发送到浏览器。
没有好的解决方案,没有Javascript的解决方案周期。
下面有三种最流行的方法来禁用在网页上单击鼠标右键。
#1使用HTML正文标签
<body oncontextmenu="return false;">
#2使用CSS
body {
-webkit-user-select: none; /* Chrome all / Safari all */
-moz-user-select: none; /* Firefox all */
-ms-user-select: none; /* IE 10+ */
-o-user-select: none;
user-select: none;
}
#3使用JavaScript
document.addEventListener('contextmenu', e => e.preventDefault());
如果你的目标是不允许用户简单地保存你的图像,你也可以检查点击的目标是否为图像,只在这种情况下禁用右键。所以右键可以用于其他目的。从上面的代码:
document.addEventListener("contextmenu", function(e){
if (e.target.nodeName === "IMG") {
e.preventDefault();
}
}, false);
这只是拿走了保存图像的最简单的方法,但它仍然可以做到。
重要提示:这取决于浏览器和操作系统是否允许这样的预防!
你应该这么做吗?不。因为它不会阻止用户,但它只会惹恼他/她。
你会用吗?是的。例子:在某些网页应用中,你想要定制弹出菜单,在游戏中,用户可能会因为错误地单击右键而感到恼火,以及其他情况。
Ubuntu 16.04中的Chrome (v65) =您可以禁用右键单击。
Chrome (v65)在Mac OS 10.11 =你不能禁用右键。
Chrome (v65)在Windows 7 =你不能禁用右键。
Mac OS 10.11中的Firefox (v41) =您可以禁用右键单击。
Windows 7中的Firefox (v43) =您可以禁用右键单击。
// Vanilla JS way
document.addEventListener('contextmenu', function(e){
e.preventDefault();
});
// jQuery way
$(document).bind('contextmenu', function(e) {
e.preventDefault();
});