我可以禁用右击在我的网页不使用JavaScript?我问这个问题是因为大多数浏览器允许用户禁用JavaScript。

如果不是,我如何使用JavaScript禁用右键?


当前回答

如果您不关心在用户每次尝试右击时提醒他们一条消息,那么可以尝试将此添加到body标签中

<body oncontextmenu="return false;">

这将阻止对上下文菜单的所有访问(不仅从鼠标右键,而且从键盘)。

然而,正如在其他回答中提到的,添加右击禁用功能确实没有意义。任何具备基本浏览器知识的人都可以查看源代码并提取所需的信息。

其他回答

Javascript:

document.getElementsByTagName("html")[0].setAttribute("oncontextmenu", "return false"); 

如果不使用Javascript,您就无法完成您的要求。您可以选择使用的任何其他技术只能帮助在服务器端组成web页面,然后发送到浏览器。

没有好的解决方案,没有Javascript的解决方案周期。

你可以用JavaScript为"contextmenu"事件添加一个事件监听器,并调用preventDefault()方法:

document.addEventListener('contextmenu', event => event.preventDefault());

也就是说:不要这么做。

为什么?因为它只会惹恼用户。此外,许多浏览器都有一个安全选项来禁止禁用右键(上下文)菜单。

不知道你为什么想这么做。如果是出于某种错误的信念,认为可以通过这种方式保护源代码或图像,请再想想:您不能这样做。

当然,就像这里的所有其他评论一样,这根本行不通。

我曾经为客户端构建了一个简单的java applet,它强制任何图像的捕获都通过屏幕捕获来完成,您可能会考虑类似的技术。在有限的范围内,它是有效的,但我仍然认为这是浪费时间。

首先,如果不使用客户端功能,就无法实现这一点。这是javascript运行的地方。

其次,如果您试图控制终端用户可以从您的网站消费什么,那么您需要重新考虑如何显示这些信息。图像有一个公共url,可以通过HTTP获取,而不需要浏览器。

身份验证可以控制谁可以访问哪些资源。

在图像中嵌入水印可以证明图像来自特定的人/公司。

归根结底,资源管理实际上是用户/客户管理。

互联网的第一条规则,如果你不想让它被拿走,就不要让它公开!

互联网的第二条规则,如果你不想要它被拿走,就不要把它放在网上!