我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
当前回答
禁用网页上的右键很简单。只需几行JavaScript代码就可以完成这项工作。下面是JavaScript代码:
$("html").on("contextmenu",function(e){
return false;
});
在上面的代码中,我选择了标签。在你添加了这三行代码后,它将禁用在网页上的右键单击。
源码:禁用右键,复制,在网页上使用jQuery剪切
其他回答
不
只是,不知道。
无论你做什么,你都不能阻止用户完全访问你网站上的每一点数据。你所编写的任何Javascript代码都可以通过关闭浏览器上的Javascript(或者使用NoScript这样的插件)而变得毫无意义。此外,没有办法禁用任何用户仅仅“查看源代码”或“查看页面信息”(或使用wget)的功能。
不值得这么费劲。这实际上是行不通的。它会让你的网站对用户充满敌意。他们会注意到这一点,并停止访问。这样做没有任何好处,只会浪费精力和损失流量。
不喜欢。
更新:随着时间的推移,这个小话题似乎已经被证明是相当有争议的。即便如此,我仍然坚持这个问题的答案。有时正确的答案是建议,而不是字面上的回答。
那些无意中发现这个问题并希望找到如何创建自定义上下文菜单的人应该看看其他地方,比如这些问题:
为我的web应用程序制作自定义右键上下文菜单,这依赖于jQuery 如何添加一个自定义右键菜单的网页,这使用纯javascript/html
试试这段代码禁用检查元素选项
jQuery(document).ready(function() {
function disableSelection(e) {
if (typeof e.onselectstart != "undefined") e.onselectstart = function() {
return false
};
else if (typeof e.style.MozUserSelect != "undefined") e.style.MozUserSelect = "none";
else e.onmousedown = function() {
return false
};
e.style.cursor = "default"
}
window.onload = function() {
disableSelection(document.body)
};
window.addEventListener("keydown", function(e) {
if (e.ctrlKey && (e.which == 65 || e.which == 66 || e.which == 67 || e.which == 70 || e.which == 73 || e.which == 80 || e.which == 83 || e.which == 85 || e.which == 86)) {
e.preventDefault()
}
});
document.keypress = function(e) {
if (e.ctrlKey && (e.which == 65 || e.which == 66 || e.which == 70 || e.which == 67 || e.which == 73 || e.which == 80 || e.which == 83 || e.which == 85 || e.which == 86)) {}
return false
};
document.onkeydown = function(e) {
e = e || window.event;
if (e.keyCode == 123 || e.keyCode == 18) {
return false
}
};
document.oncontextmenu = function(e) {
var t = e || window.event;
var n = t.target || t.srcElement;
if (n.nodeName != "A") return false
};
document.ondragstart = function() {
return false
};
});
是的,你可以使用HTML和Javascript禁用它。 只需在你的body或元素上添加oncontextmenu="return false;" 它非常简单,只是使用有效的HTML和Javascript,没有jQuery。
<script>
window.oncontextmenu = function () {
console.log("Right Click Disabled");
return false;
}
</script>
重要提示:这取决于浏览器和操作系统是否允许这样的预防!
你应该这么做吗?不。因为它不会阻止用户,但它只会惹恼他/她。
你会用吗?是的。例子:在某些网页应用中,你想要定制弹出菜单,在游戏中,用户可能会因为错误地单击右键而感到恼火,以及其他情况。
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();
});