我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
当前回答
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.4.4.min.js'></script>
<script type='text/javascript'>//<![CDATA[
$(function(){
$('img').bind('contextmenu', function(e){
return false;
});
});//]]>
</script>
</head>
<body>
<img src="http://www.winergyinc.com/wp-content/uploads/2010/12/ajax.jpg"/>
</body>
其他回答
如果不使用Javascript,您就无法完成您的要求。您可以选择使用的任何其他技术只能帮助在服务器端组成web页面,然后发送到浏览器。
没有好的解决方案,没有Javascript的解决方案周期。
使用此功能可以禁用右键操作。你可以禁用左键点击也检查1和0对应
document.onmousedown = rightclickD;
function rightclickD(e)
{
e = e||event;
console.log(e);
if (e.button == 2) {
//alert('Right click disabled!!!');
return false; }
}
我想添加一个注意(chrome 97),不确定这是否是与chrome或我的环境有关的bug。 右键单击我的应用程序的特定元素在一个新选项卡打开一个页面,使用鼠标下拉和oncontextmenu="返回false"我仍然有上下文菜单出现,甚至在新打开的页面上(只有安装的chrome扩展的菜单出现在上下文菜单上,我认为这个“bug”应该在未来版本的浏览器中得到修复)。
但与此同时,我用这个简单的hack修复了它
function onMouseDown () {
setTimeout(() => window.open('the link', '_blank'), 100)
}
我只是推迟开账单。我认为出现这个错误是因为右击被新打开的页面捕获,而不是从我的应用程序试图打开选项卡的原始页面捕获。
希望它能让你免于头痛。
我用这个代码禁用右键点击任何网页,它的工作很好。您可以使用此代码
jQuery(文档)时函数(){ jQuery(函数(){ jQuery(这个)。绑定("contextmenu",函数(事件){ event.preventDefault (); alert('右击禁用此站点!!') }); }); }); < html > < >头 <title>在网页中右键单击禁用</title> . < script src = " https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js " > < /脚本> < / >头 身体< > 您编写自己的代码 < /身体> < / html >
像下面这样做(它也适用于firefox):
$(document).on("contextmenu",function(e){
if( e.button == 2 ) {
e.preventDefault();
callYourownFucntionOrCodeHere();
}
return true;
});