Controlar cuando el usuario activa el menú contextual

 
Este articulo va destinado a recomendar como se "debe hacer" tanto como "NO se debe hacer".

Por Internet hay un código, que incluso se "vende" como código para evitar que te "roben" el código que es un claro ejemplo de lo que no debes poner si quieres que tu página sea tomada en serio. el código es este:
<SCRIPT language=JavaScript1.1>
<!-- Begin
function non(clic) {
var msg="message";
if (navigator.appName == 'Netscape' && clic.which==3) {
alert(msg);
return false;}
else
if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) {
alert(msg);
return false;
}
return true;
}
document.onmousedown = non;
// End -->
</SCRIPT>

Esto lo que hace es mandar un mensaje cuando el usuario da al botón derecho del ratón. Lo que realmente hace de él que sea un código funesto es que para evitar que "salte" esta función tiene que dar una orden de mayor importancia que el menú, o sea un alert; he aquí el problema ya que un alert es un mensaje muy molesto; por lo que cada vez que salte hay una gran posibilidad de que el usuario abandone la página.
Los alert deben de ser usados como eso; MENSAJES DE ALERTA.

Este código lo que hace es evitar que salte el menú contextual; pero sin molestos alert y además de una forma mucho mas sencilla. De todas formas recomendaros que NUNCA pongáis el código de arriba y que sepáis que todo lo que le llega al usuario; este podrá ver el código, lo único que podrías hacer es complicarle un "poquito" la vida.


En el HEAD:
<script type="text/javascript">
    //Su explorador no soporta java o lo tiene deshabilitado; esta pagina necesita javascript para funcionar correctamente<!--
    //Copyright © McAnam.com
    // http://www.mcanam.com/articulos/JavaScript.php?id=4

    document.oncontextmenu = function(){return false;};

    //-->    
</script>

Links relacionados:
Saber posición (coordenadas) del ratón


Para cualquier duda, consulta, sugerencia, opinión, colaboración, etc; no dude en ponerse en contacto con nosotros

Copyright © 2002-2017 [McAnam]. Reservados todos los derechos.
www.mcanam.com