Protégez vos images en interdisant l'utilisation du bouton droit de la souris. Javascript compatible IE4 ou +, et NS4 ou +.
Programmation > JavaScript
Recherche :   
Actualité Système Salon Concours Outils Programmation Devparadise Programmation HTML .Net JavaScript VBScript ASP PHP Visual Basic Perl Java Active X SQL XML WAP Delphi Graphisme Flash Web Design Promotion Référencement Publicité Valeur de votre site Outils Systèmes Windows Unix Linux Benchmark Hardware Réseaux locaux Droit Sécurité
Interdire le clic droit de la souris
  Auteur : Yvan VANWYNSBERGHE

Protégez vos images en interdisant l'utilisation du bouton droit de la souris. Javascript compatible IE4 ou +, et NS4 ou +.

Publicité 
Cet article vous décrit le code javascript permettant d'inhiber l'affichage du menu contextuel apparaissant lorsque vous cliquez avec le bouton droit de la souris sur une page HTML. A la place, une boîte de dialogue apparaît avec un message que vous aurez préalablement défini dans le code javascript.

Cette fonctionnalité est particulièrement intéressante lorsque vous voulez protéger les images présentes dans vos pages HTML.

Tout le code javascript détaillé par la suite doit être déclaré dans l'entête de votre page HTML, entre les balises <HEAD> et </HEAD>. Je vous rappelle que la déclaration d'un code javascript commence par :

   <script language="JavaScript" type="text/javascript">
   <!--

Et, il doit se teminer par :

   //-->
   </script>

Le code javascript commence par la déclaration des variables :

   var message = "Clic droit non autorisé!"
   var ns4 = (document.layers)? true:false;                //NS 4
   var ie4 = (document.all)? true:false;                   //IE 4
   var dom = (document.getElementById)? true:false;      //DOM

La variable "message" contient le texte qui sera affiché lorsque l'on cliquera sur le bouton droit de la souris. Vous pouvez donc afficher Les variables ns4, ie4 et dom permettent de faire la distinction entre les différents navigateurs.

Après avoir déclaré les variables, on définit le comportement du navigateur sur un événement clic de souris :

   if (dom)
      {
      if (document.addEventListener)
         document.addEventListener("mouseup",RightMouseDisable,false);
      else
         document.oncontextmenu = IsForbidden;
      }
   else if (ie4)
      {
      document.onkeydown = CheckKey;
      document.onmousedown = RightMouseDisable;
      }
   else if (ns4)
      {
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown = RightMouseDisable;
   }

On remarque que la capture d'un événement est différente suivant le type de navigateur. Enfin, on définit les fonctions associées à la capture d'événement :

   function CheckKey()
      {
      var MyKey = event.keyCode;
      if (MyKey==93)
         {
         var MyValue = IsForbidden;
         return false;
         }
      }

   function RightMouseDisable(e)
      {
      var MyNumber=0;
      if (ie4)
         MyNumber = event.button;
      else
         MyNumber = e.which;
      if (MyNumber==2||MyNumber==3)
         {
         var MyValue = IsForbidden();
         return false;
         }
      else
         return true;
      }

   function IsForbidden()
      {
      alert(message);
      return false;
      }

CheckKey permet de vérifier si une touche correspondante à un clic droit de souris n'a pas été utilisée (uniquement pour ie4).
RightMouseDisable permet de vérifier si c'est le bouton droit de la souris qui a été utilisé (uniquement pour ie4 et ns4+).
IsForbidden affiche le message de dissuasion dans une boite de dialogue.

Si vous souhaitez télécharger un exemple d'utilisation de ce script cliquez ici.

A lire aussi sur Devparadise.com :
  • Roll-over sonore
  • Visualisation rapide des typos sous Flash.
  • Déplacer un Div avec la Souris
  • Protegez votre site contre les hackers
  • Désactiver le clic droit de la souris
  • A télécharger aussi sur Devparadise.com :
  • ÜberIcon 1.0.4
  • RocketDock 1.3.5
  • WinExposé
  • Protéger les images de votre site
  • Roll-Over Sonore

  • © 1997-2009 tous droits réservés Devparadise.com
    Les logos, et marques déposées sont la propriété de leurs détenteurs respectifs.
    Devparadise.com s'est engagé à respecter la confidentialité des données personnelles régies par la loi 78-17 du 6 janvier 1978.
    Déclaration C.N.I.L. n° 621623
    clic,click,souris,mouse,droit,addEventListener,oncontextmenu