Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1958 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Enlever le menu du clic droit sous les navigateurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] Enlever le menu du clic droit sous les navigateurs

n°688749
goldorak69
Posté le 31-03-2004 à 17:52:07  profilanswer
 

Salut, je voudrais faire apparaitre un menu sur mon site lorsqu'on fait un clic droit, le seul problème c'est que le menu propre du navigateur s'affiche aussi lorsqu'on fait un clic droit !
Comment est-ce que je peux l'enlever?  :??:  
 
Le seul moyen que j'ai trouvé jusqu'à maintenant est d'afficher un window.alert mais c'est pas trop agréable  :(  
 

Code :
  1. var ie = (document.all)? true:false;
  2. var ns4 = (document.layers)? true:false;
  3. var ns6 = (document.getElementById)? true:false;
  4. // Retourne la propriété style du calque 'id'
  5.  function calkStyle( id_calk )
  6.  {
  7.   if ( ie ) calk = document.all[id_calk].style;
  8.   if ( ns4 ) calk = document.layers[id_calk];
  9.   if ( ns6 ) calk = document.getElementById(id_calk).style;
  10.   return calk;
  11.  }
  12.                 function clic ( evenement )
  13.  {
  14.   var decal = 10;
  15.   if ( ( ie && event.button > 1 ) || ( ( !ie ) && evenement.which > 1 ) )
  16.   {
  17.    if ( ie )
  18.    {
  19.               //Récupération de la position de la souris
  20.               window.lastX = event.clientX;
  21.               window.lastY = event.clientY;
  22.    }
  23.    else if ( ns4 )
  24.    {
  25.               //Récupération de la position de la souris
  26.               window.lastX = evenement.pageX;
  27.               window.lastY = evenement.pageY;
  28.           }
  29.    else if ( ns6 )
  30.    {
  31.               //Récupération de la position de la souris
  32.               window.lastX = evenement.clientX;
  33.               window.lastY = evenement.clientY;
  34.    }
  35.    calkStyle( "menu" ).top = window.lastY + decal + "px";
  36.    calkStyle( "menu" ).left = window.lastX + decal + "px";
  37.    calkStyle( "menu" ).visibility = "visible";
  38.   }
  39.   return false;
  40.  }
  41. document.onmousedown = clic;

mood
Publicité
Posté le 31-03-2004 à 17:52:07  profilanswer
 

n°688905
goldorak69
Posté le 31-03-2004 à 20:03:48  profilanswer
 

siouplé ...

n°688907
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2004 à 20:08:56  profilanswer
 

goldorak69 a écrit :

siouplé ...  


 
Non, ça n'existe pas.

n°689097
jagstang
Pa Capona ಠ_ಠ
Posté le 31-03-2004 à 22:55:04  profilanswer
 

impossible (ça n'a aucun sens), très désagréable pour l'utilisateur.  
 

n°690738
goldorak69
Posté le 02-04-2004 à 12:54:50  profilanswer
 

merci, à tous, j'y suis enfin arrivé ( c'est donc tout à fait possible ).
 
Pour info, je mets le code au cas où...
 
 

Code :
  1. var ie = (document.all)? true:false;
  2. var ns4 = (document.layers)? true:false;
  3. var ns6 = (document.getElementById)? true:false;
  4. var message = "";
  5. // Affiche le div menu
  6.  function rightClic ( evenement )
  7.  {
  8.   var decal = 10;
  9.   if ( ( ie && event.button > 1 ) || ( !ie && evenement.which > 1 ) )
  10.   {
  11.    if ( ie )
  12.    {
  13.               //Récupération de la position de la souris
  14.               window.lastX = event.clientX;
  15.               window.lastY = event.clientY;
  16.    }
  17.    else if ( ns4 )
  18.    {
  19.               //Récupération de la position de la souris
  20.               window.lastX = evenement.pageX;
  21.               window.lastY = evenement.pageY;
  22.           }
  23.    else if ( ns6 )
  24.    {
  25.               //Récupération de la position de la souris
  26.               window.lastX = evenement.clientX;
  27.               window.lastY = evenement.clientY;
  28.    }
  29.    writeDiv ( debutMenu + menuDefaut + finMenu, "menu" );
  30.    calkStyle( "menu" ).top = window.lastY + decal + "px";
  31.    calkStyle( "menu" ).left = window.lastX + decal + "px";
  32.    calkStyle( "menu" ).visibility = "visible";
  33.    ( message );
  34.    return false;
  35.   }
  36.   return true;
  37.  }
  38. if ( document.layers )
  39. {
  40.  document.captureEvents( Event.MOUSEDOWN );
  41.  document.onmousedown = rightClic;
  42. }
  43. else
  44. {
  45.  document.onmouseup = rightClic;
  46.  document.oncontextmenu = rightClic;
  47. }
  48. document.oncontextmenu = new Function ( "return false" );

n°690744
kadreg
profil: Utilisateur
Posté le 02-04-2004 à 13:01:15  profilanswer
 

goldorak69 a écrit :

merci, à tous, j'y suis enfin arrivé ( c'est donc tout à fait possible ).


 
Tu peux pas le mettre sur une page qu'on teste ta connerie pour faire chier l'utilisateur ?²


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°690758
jagstang
Pa Capona ಠ_ಠ
Posté le 02-04-2004 à 13:28:27  profilanswer
 

kadreg a écrit :


 
Tu peux pas le mettre sur une page qu'on teste ta connerie pour faire chier l'utilisateur ?²


+1 je demande à voir

n°690782
Hermes le ​Messager
Breton Quiétiste
Posté le 02-04-2004 à 13:52:01  profilanswer
 

goldorak69 a écrit :

merci, à tous, j'y suis enfin arrivé ( c'est donc tout à fait possible ).
 
Pour info, je mets le code au cas où...
 


non ça ne marche pas.
 

n°691030
goldorak69
Posté le 02-04-2004 à 16:39:47  profilanswer
 

Il manque deux fonctions sur le code du dessus, les voilà:
 

Code :
  1. // Retourne la propriété style du calque 'id'
  2.  function calkStyle( id_calk )
  3.  {
  4.   if ( ie ) calk = document.all[id_calk].style;
  5.   if ( ns4 ) calk = document.layers[id_calk];
  6.   if ( ns6 ) calk = document.getElementById(id_calk).style;
  7.   return calk;
  8.  }
  9. // Affiche txt dans le div div_id
  10.  function writeDiv ( txt, div_id )
  11.  {
  12.   if ( ie ) document.all[div_id].innerHTML = txt;
  13.   if ( ns4 )
  14.   {
  15.    document.layers[div_id].document.open();
  16.    document.layers[div_id].document.write( txt );
  17.    document.layers[div_id].document.close();
  18.   }
  19.   if ( ns6 ) document.getElementById(div_id).innerHTML = txt ;
  20.  }


 
De plus, ne pas oublier de mettre un div avec l'id "menu" dans la page html.

n°691109
Hermes le ​Messager
Breton Quiétiste
Posté le 02-04-2004 à 17:33:36  profilanswer
 

goldorak69 a écrit :

Il manque deux fonctions sur le code du dessus, les voilà:
 

Code :
  1. // Retourne la propriété style du calque 'id'
  2.  function calkStyle( id_calk )
  3.  {
  4.   if ( ie ) calk = document.all[id_calk].style;
  5.   if ( ns4 ) calk = document.layers[id_calk];
  6.   if ( ns6 ) calk = document.getElementById(id_calk).style;
  7.   return calk;
  8.  }
  9. // Affiche txt dans le div div_id
  10.  function writeDiv ( txt, div_id )
  11.  {
  12.   if ( ie ) document.all[div_id].innerHTML = txt;
  13.   if ( ns4 )
  14.   {
  15.    document.layers[div_id].document.open();
  16.    document.layers[div_id].document.write( txt );
  17.    document.layers[div_id].document.close();
  18.   }
  19.   if ( ns6 ) document.getElementById(div_id).innerHTML = txt ;
  20.  }


 
De plus, ne pas oublier de mettre un div avec l'id "menu" dans la page html.


 
ça marche toujours pas.  :sarcastic:

mood
Publicité
Posté le 02-04-2004 à 17:33:36  profilanswer
 

n°691510
aspegic500​mg
Posté le 03-04-2004 à 10:17:56  profilanswer
 

Non pis si vraiment tu veux faire chier l'utilisateur jusqu'au bout, pour qu'il puisse pas pomper le le code, tu fait du php qui génère du xml avec une belle feuille xsl bien compliquée (quand tu fais afficher la source tu tombe sur du xml et pas du html, supaiiir :D ), et pour les images du les récupère en php dans un dossier protégé par htaccess, tu les découpe en une vingtaine de morceaux (via GD) et tu les affiche, impossible de les copier.
Bien sur le mec peut aussi faire une copie d'écran pour les images, mais c'est pas la même chose. Et pour le php+xml+xsl, tu te fais chier 2 jours pour faire une malheureuse page toute pourrie.
 
Tout ca pour dire que tenter de protéger la source d'une page c'est bidon, ca fait chier l'utilisateur et ca ne t'apporte absolument rien, en quoi ca te gêne que les utilisateurs voient la source de la page? (respecte un peu le principe du libre, laisse la source des pages accéssible, tout le monde y gagne :o )

n°691665
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 03-04-2004 à 14:55:18  profilanswer
 

Et puis je suis sur que son truc ne marche pas sous mozilla...
Et puis il reste toujours le ctrl+U (sous mozilla) et le afficher la source sous ie ;)


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°2028079
jean-miche​l-nux
vive linux
Posté le 10-10-2010 à 10:39:47  profilanswer
 

non cela ne fonctionne pas test sur google chrome


---------------
http://jeanmichel.gens.free.fr
n°2028082
jean-miche​l-nux
vive linux
Posté le 10-10-2010 à 10:55:42  profilanswer
 

ni sur firefox d'ailleurs ça ecrit bien ton texte mais en aucun cas ça ne supprime le menu imposé par le navigateur  
je n'ai pas réussi non plus à le virer mais ce que je fais c est que j'efface le contenu de la page sur un clic droit  
document.body.innerHTML=""; ce qui n'évite pas le crontol U


---------------
http://jeanmichel.gens.free.fr
n°2028117
esox_ch
Posté le 10-10-2010 à 14:15:58  profilanswer
 

Heureusement que tu es là pour remonter un topic vieux de 6 ans afin de sortir des stupidités pareilles


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2028145
sircam
I Like Trains
Posté le 10-10-2010 à 20:02:21  profilanswer
 

[:dream49]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°2028182
cetplus
Wazard dans l'ombre
Posté le 10-10-2010 à 23:04:09  profilanswer
 

aspegic500mg +1 :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Enlever le menu du clic droit sous les navigateurs

 

Sujets relatifs
Comment avoir les menu de Jbuilder en frtançais [résolu][Flash-XML] ou comment faire un menu dynamique ?
Variable de menu déroulant -> passé URLEnvoie de fichier et droit d'accés
[asp/javascript] menu dynamique avec des imagesValidation d'un formulaire par un menu déroulant .[Help]
[ IHM ] - Où trouver de jolies icones de menu ?% des navigateurs
Menu en javascriptAvec kels navigateurs passe mon site ?
Plus de sujets relatifs à : [JS] Enlever le menu du clic droit sous les navigateurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR