我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。
如果不是,我如何使用JavaScript禁用右键?
当前回答
我用这个代码禁用右键点击任何网页,它的工作很好。您可以使用此代码
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 >
其他回答
重要提示:这取决于浏览器和操作系统是否允许这样的预防!
你应该这么做吗?不。因为它不会阻止用户,但它只会惹恼他/她。
你会用吗?是的。例子:在某些网页应用中,你想要定制弹出菜单,在游戏中,用户可能会因为错误地单击右键而感到恼火,以及其他情况。
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();
});
有几件事需要考虑:
像chrome商店中“启用右键”这样的浏览器插件的存在是有原因的,你无法绕过它们。你根本无法阻止人们下载你的内容,因为他们必须下载你的内容才能在浏览器中看到;人们尝试,但它总是在那里。
一般来说,如果内容不应该公开,就不要放在网上。
此外,不能右击也是一个可访问性问题,在许多情况下相当于对盲人、残疾人或老年人的非法歧视。查看你当地的法律,但在美国,它以联邦ADA的形式积极反对法律,因为盲人或老年人可能有视力问题,是一个受法律保护的阶层。
所以与其这样做,浪费大量的时间和精力,还不如不要费心去做这个。这可能会让你的公司被起诉,或者让他们无法通过合规审计。
是的,你可以使用HTML和Javascript禁用它。 只需在你的body或元素上添加oncontextmenu="return false;" 它非常简单,只是使用有效的HTML和Javascript,没有jQuery。
当然,就像这里的所有其他评论一样,这根本行不通。
我曾经为客户端构建了一个简单的java applet,它强制任何图像的捕获都通过屏幕捕获来完成,您可能会考虑类似的技术。在有限的范围内,它是有效的,但我仍然认为这是浪费时间。
你可以用JavaScript为"contextmenu"事件添加一个事件监听器,并调用preventDefault()方法:
document.addEventListener('contextmenu', event => event.preventDefault());
也就是说:不要这么做。
为什么?因为它只会惹恼用户。此外,许多浏览器都有一个安全选项来禁止禁用右键(上下文)菜单。
不知道你为什么想这么做。如果是出于某种错误的信念,认为可以通过这种方式保护源代码或图像,请再想想:您不能这样做。