¿Puedo desactivar el clic derecho en mi página web sin usar JavaScript? Pregunto esto porque la mayoría de los navegadores permiten al usuario deshabilitar JavaScript.
Si no, ¿cómo uso JavaScript para deshabilitar el clic derecho?
javascript
Vinay Pandey
fuente
fuente
Respuestas:
Puede hacerlo con JavaScript agregando un detector de eventos para el evento "contextmenu" y llamando al
preventDefault()
método:Dicho esto: NO LO HAGAS.
¿Por qué? Porque no logra nada más que usuarios molestos. Además, muchos navegadores tienen una opción de seguridad para no permitir la desactivación del menú del botón derecho (contexto) de todos modos.
No estoy seguro de por qué querrías hacerlo. Si es por una creencia errónea de que puede proteger su código fuente o imágenes de esa manera, piense de nuevo: no puede.
fuente
oncontextmenu="return false"
algo más que el cuerpo puede tener sentido, por ejemplo, en un lienzo.No
Solo no lo hagas.
No importa lo que haga, no puede evitar que los usuarios tengan acceso total a todos los datos de su sitio web. Cualquier Javascript que codifique puede volverse discutible simplemente desactivando Javascript en el navegador (o usando un complemento como NoScript). Además, no hay forma de deshabilitar la capacidad de cualquier usuario de simplemente "ver la fuente" o "ver la información de la página" (o usar wget) para su sitio.
No vale la pena el esfuerzo. En realidad no funcionará. Hará que su sitio sea activamente hostil para los usuarios. Lo notarán y dejarán de visitar. Hacer esto no tiene ningún beneficio, solo desperdicio de esfuerzo y pérdida de tráfico.
No lo hagas
Actualización: Parece que este pequeño tema ha demostrado ser bastante controvertido con el tiempo. Aun así, mantengo esta respuesta a esta pregunta. A veces la respuesta correcta es un consejo en lugar de una respuesta literal.
Las personas que tropiezan con esta pregunta con la esperanza de descubrir cómo crear menús contextuales personalizados deberían buscar en otro lado, como estas preguntas:
fuente
<body oncontextmenu="return false;">
La pregunta original era sobre cómo detener el clic derecho dado que el usuario puede deshabilitar JavaScript : que suena malvado y malvado (de ahí las respuestas negativas), pero todos los duplicados se redirigen aquí, a pesar de que muchos de los duplicados piden propósitos menos malvados.
Como usar el botón derecho en juegos HTML5, por ejemplo. Esto se puede hacer con el código en línea anterior, o un poco mejor es algo como esto:
Pero si está haciendo un juego, recuerde que el botón derecho activa el evento contextualmenu , pero también activa el mousedown y mouseup regulares eventos . Por lo tanto es necesario comprobar la década de los eventos que propiedad para ver si era la izquierda (que === 1), medio (que === 2), o hacia la derecha el botón (que === 3) de ratón que está disparando el evento.
Aquí hay un ejemplo en jQuery: tenga en cuenta que al presionar el botón derecho del mouse se dispararán tres eventos: el evento mousedown, el evento contextmenu y el evento mouseup.
Entonces, si está usando los botones izquierdo y derecho del mouse en un juego, tendrá que hacer una lógica condicional en los controladores del mouse.
fuente
dom.event.contextmenu.enabled
en Firefox, ¿se seguirán activando los eventosmousedown
ymouseup
aunquecontextmenu
no lo haga?Si no le importa alertar al usuario con un mensaje cada vez que intenta hacer clic con el botón derecho, intente agregar esto a su etiqueta corporal
Esto bloqueará todo acceso al menú contextual (no solo desde el botón derecho del mouse sino también desde el teclado).
Sin embargo, como se menciona en las otras respuestas, realmente no tiene sentido agregar un desactivador de clic derecho. Cualquier persona con conocimientos básicos del navegador puede ver la fuente y extraer la información que necesita.
fuente
Si eres un fanático de jquery, usa esto
fuente
this
dentro del evento listo? ¿Por qué usas enbind
lugar deon
? Ugh ...Primero, no puede lograr esto sin usar una capacidad del lado del cliente. Aquí es donde se ejecuta el JavaScript.
En segundo lugar, si está tratando de controlar lo que un usuario final puede consumir de su sitio, debe repensar cómo muestra esa información. Una imagen tiene una URL pública que se puede obtener a través de HTTP sin la necesidad de un navegador.
La autenticación puede controlar quién tiene acceso a qué recursos.
La marca de agua incrustada en las imágenes puede demostrar que la imagen fue de una persona / empresa específica.
Al final del día, la gestión de recursos es realmente una gestión de usuario / invitado.
La primera regla de Internet, si no quiere que se la tome, ¡no la haga pública!
La segunda regla de Internet, si no quiere que se la lleve, ¡no la ponga en Internet!
fuente
Si su objetivo es evitar que las personas puedan descargar sus imágenes, como la mayoría de las personas han dicho, deshabilitar el clic derecho es bastante ineficaz.
Suponiendo que está tratando de proteger las imágenes, los métodos alternativos son:
Usando un reproductor flash, los usuarios no pueden descargarlos como tales, pero podrían hacer fácilmente una captura de pantalla.
Si desea ser más incómodo, haga que la imagen sea el fondo de un div, que contiene una imagen transparente, a la -
será suficiente para disuadir el robo casual de sus imágenes (vea a continuación una muestra), pero como con todas estas técnicas, es trivial derrotar con una comprensión básica de html.
fuente
No puedes lograr lo que estás pidiendo sin usar Javascript. Cualquier otra tecnología que elija utilizar solo puede ayudar a componer la página web en el lado del servidor que se enviará al navegador.
Simplemente no hay una buena solución, y no hay período de solución sin Javascript.
fuente
Si su objetivo es no permitir que los usuarios simplemente guarden sus imágenes, también puede verificar si el objetivo seleccionado es una imagen, solo deshabilite el clic derecho en ese caso. Por lo tanto, el clic derecho se puede utilizar para otros fines. Tomado del código anterior:
Esto es solo para eliminar la forma más fácil de guardar sus imágenes, pero aún se puede hacer.
fuente
fuente
dom.event.contextmenu.enabled
Hazlo como a continuación (también funciona en firefox):
fuente
Pon este código en tu
<head>
etiqueta de tu página.Esto deshabilitará el clic derecho en toda su página web, pero solo cuando JavaScript esté habilitado.
fuente
Había usado este código para deshabilitar el clic derecho en cualquier página web, funciona bien. Puedes usar este código
fuente
Por supuesto, como todos los demás comentarios aquí, esto simplemente no funciona.
Una vez construí un applet java simple para un cliente que obligaba a realizar cualquier captura de una imagen a través de la captura de pantalla y es posible que desee considerar una técnica similar. Funcionó, dentro de las limitaciones, pero todavía creo que fue una pérdida de tiempo.
fuente
fuente
Prueba esto
fuente
Deshabilitar el clic derecho en su página web es simple. Solo hay unas pocas líneas de código JavaScript que harán este trabajo. A continuación se muestra el código JavaScript:
En el código anterior, he seleccionado la etiqueta. Después de agregar solo esas tres líneas de código, deshabilitará el clic derecho en su página web.
Fuente: deshabilitar el clic derecho, copiar, cortar en la página web usando jQuery
fuente
fuente
Sé que llego tarde, pero quiero crear algunas suposiciones y explicaciones para la respuesta que voy a proporcionar.
¿Puedo desactivar el clic derecho
Sí, al usar JavaScript puede deshabilitar cualquier evento que ocurra y puede hacerlo principalmente solo con javaScript. Cómo, todo lo que necesitas es:
Un hardware de trabajo
Un sitio web o un lugar desde el que puede aprender sobre los códigos clave. Porque los vas a necesitar.
Ahora digamos que desea bloquear la tecla Intro, presione aquí el código:
Para el clic derecho, use esto:
en el lugar de
event.keyCode
. Y lo bloquearás.Tienes razón, los navegadores te permiten usar
JavaScript
y JavaScript hace todo el trabajo por ti. No necesita configurar nada, solo necesita el atributo de script en la cabeza.¿Por qué no deberías deshabilitarlo?
La respuesta principal y rápida a eso sería que a los usuarios no les gustará . Todo el mundo necesita libertad, nadie, quiero decir, nadie quiere ser bloqueado o deshabilitado, hace unos minutos estaba en un sitio, que me había bloqueado el hacer clic derecho y sentí por qué. ¿Necesita asegurar su código fuente? Entonces aquí
ctrl+shift+J
he abierto elConsole
y ahora puedo ir aHTML-code
pestaña. Adelante, detenme. Esto no agregará ninguna capa de seguridad a su aplicación.Hay muchos menús útiles en el clic derecho, como Copiar, Pegar, Buscar 'texto' en Google (en Chrome) y muchos más. Por lo tanto, al usuario le gustaría tener acceso fácil en lugar de recordar muchos atajos de teclado. Cualquiera puede copiar el contexto, guardar la imagen o hacer lo que quiera.
Los navegadores usan la navegación del mouse: algunos navegadores como Opera usan la navegación del mouse, por lo que si lo desactiva, el usuario definitivamente odiaría su interfaz de usuario y los scripts.
Así que eso era lo básico, iba a escribir un poco más sobre cómo guardar el código fuente jejeje pero, que sea la respuesta a su pregunta.
Referencia a los códigos clave:
Código de tecla y mouse:
http://www.w3schools.com/jsref/event_button.asp
https://developer.mozilla.org/en-US/docs/Web/API/event.button (también sería apreciado por los usuarios).
¿Por qué no deshabilitar el clic derecho:
http://www.sitepoint.com/dont-disable-right-click/
fuente
Javascript:
fuente
Nota importante: ¡Depende del navegador y del sistema operativo para permitir tal prevención o no!
¿Deberías hacerlo? No se . Porque no impedirá al usuario, pero solo lo molestará.
¿Puedes usarlo? Sí . Ejemplos: en algunas aplicaciones web en las que desea tener un menú emergente personalizado, en el juego, donde los usuarios pueden molestarse cuando hacen clic con el botón derecho, y en otros casos.
Chrome (v65) en Ubuntu 16.04 = PUEDES desactivar el clic derecho.
Chrome (v65) en Mac OS 10.11 = NO PUEDES desactivar el clic derecho.
Chrome (v65) en Windows 7 = NO PUEDES desactivar el clic derecho.
Firefox (v41) en Mac OS 10.11 = PUEDES desactivar el clic derecho.
Firefox (v43) en Windows 7 = PUEDE deshabilitar el clic derecho.
fuente
Algunas cosas a considerar:
Los complementos del navegador como "habilitar el clic derecho" en la tienda de Chrome existen por una razón, y no podrá evitarlos. LITERALMENTE NADA puede hacer para evitar que las personas descarguen su contenido, ya que literalmente tienen que descargarlo para incluso verlo en su navegador de todos modos; La gente lo intenta pero siempre está ahí afuera.
En general, si el contenido no debe ser público, no lo ponga en línea.
Además, no poder hacer clic con el botón derecho es un problema de accesibilidad y en muchos casos constituye una discriminación ilegal contra los ciegos, discapacitados o ancianos. Verifique sus leyes locales, pero en los EE. UU. Está activamente en contra de la ley en la forma de la ADA Federal, ya que los ciegos o los ancianos que pueden tener problemas de visión son una clase legalmente protegida.
Entonces, en lugar de hacer esto y perder mucho tiempo y esfuerzo, ni siquiera se moleste en intentar hacer esto. Podría simplemente demandar a su empresa o hacer que falle una auditoría de cumplimiento.
fuente
Pruebe este código para deshabilitar la opción inspeccionar elemento
fuente
Use esta función para desactivar el clic derecho. Puede desactivar el clic izquierdo y pulsar también
checking 1 and 0
correspondientefuente