je n'ai pas réussi a simplifier d'avantage... mais de cette façon cela fonctionne sous IE et firefox!(testé avec les versions 1.5.0.12 et 2.0.0.7)
cs_foxmaster
Messages postés38Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention23 septembre 2013 17 oct. 2007 à 09:09
Bonjour,
je viens de tester cette source qui est vraiment sympa sauf que ... ça marche pas bien sous firefox :-( le click droit fait également afficher le menu contextuel de firefox... quelqu'un saurait t'il comment éviter cela ?
Merci d'avance.
sagat06
Messages postés166Date d'inscriptionmercredi 27 juin 2007StatutMembreDernière intervention31 mars 20141 12 sept. 2007 à 16:38
Tout d'abord, je tiens à feliciter FlashFun pour ce script qui me permet d'éviter de longues heures d'agonie.
Ensuite, le script modifié permettant de faire apparaître le menu contextuel sur l'elt. de son choix fonctionne presque parfaitement.
En effet, j'ai voulu le tester avec une image et en cliquant sur celle-ci le menu est apparu mais sous l'image!!
En essayant de jouer avec les Zindex, je n'ai pas réussi à le faire apparaitre dessus.
De plus, débutant en javascript, j'ai lu que la fonction "oncontextmenu" était spécifique à IE et que les autres navigateurs ne le comprenaient pas => question : la modif' avec le 'oncontextmenu="showmenuC();return false;"' inséré dans l'elt. fonctionnera t-elle avec les autres navigateurs??
Bref si qq'un pouvait m'éclairer, j'en serai très reconnaissant.
Merci d'avance et pardonnez moi mes faiblesses, je débute..
Bob33000
Messages postés1Date d'inscriptionmardi 25 juillet 2006StatutMembreDernière intervention25 juillet 2006 25 juil. 2006 à 00:25
Le script marche cependant si on change l'entête <html> par ceci
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
le script ne fonctionne plus, il est à remarquer que ce bug ce reproduit sur beaucoup des scripts proposés sur ce site.
Quel peux en être l'origine et comment corriger cela ?
aslihan
Messages postés3Date d'inscriptionmercredi 28 décembre 2005StatutMembreDernière intervention30 décembre 2005 30 déc. 2005 à 15:50
çà marche.
Merci beaucoup!!
flashfun
Messages postés296Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention11 septembre 2004 30 déc. 2005 à 13:52
essaye :
'oncontextmenu="showmenuC();return false;"'
aslihan
Messages postés3Date d'inscriptionmercredi 28 décembre 2005StatutMembreDernière intervention30 décembre 2005 29 déc. 2005 à 15:28
En faisant cela, j'ai 2 menus quand je clique droit : celui par défaut (IE) et le nouveau (Lien1, Lien2)...
Serais-tu comment ne pas avoir le menu IE ?
Merci par avance
flashfun
Messages postés296Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention11 septembre 2004 28 déc. 2005 à 17:56
Il faut supprimer :
document.oncontextmenu=showmenuC;
et il faut insérer le 'oncontextmenu="showmenuC();"' ds l'élément
aslihan
Messages postés3Date d'inscriptionmercredi 28 décembre 2005StatutMembreDernière intervention30 décembre 2005 28 déc. 2005 à 14:45
Je souhaiterai faire apparaître ce menu contextuel seulement sur un click droit sur un élément de ma page : pas suite à un click droit sur n'importe quelle partie de ma page.
Est-ce possible?
cs_Nocturne
Messages postés115Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention15 novembre 2007 22 août 2004 à 10:42
Bon travail, ca marche sous netscape 7.0
a+ et bonne prog.
flashfun
Messages postés296Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention11 septembre 2004 20 août 2004 à 23:55
Ca y est je l'ai modifié, mon menu est compatible avec tous les navigateurs.
En plus je l'ai simplifié, pour que l'on puisse insérer ce que l'on veux et comme on le veux dans le menu.
On peut se servir de mon menu comme d'un anti-click droit en insérant une image ou un text à la place des liens.
Merci de me confirmé son bon fonctionnement.
cs_Nocturne
Messages postés115Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention15 novembre 2007 31 oct. 2003 à 00:38
Affirmatif, j ai déjà commencé la modif pour Netscape.
Merci.
flashfun
Messages postés296Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention11 septembre 2004 30 oct. 2003 à 20:23
Dsl, je ne me suis jamais mis à netscape pour l'instant, car je ne l'ai jamais installé.
Tu peut trouver d'autre programme de ce type adapté à netscape,
ensuite il doit être facile d'adapté la partie que j'ai madifié.
cs_Nocturne
Messages postés115Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention15 novembre 2007 30 oct. 2003 à 20:02
Elle est tres bien cette source, le seul reproche que je peu faire, c'est qu'elle n'est pas compatible avec Netscape.
Bonne continuation flashfun.
a+, Nocturne
17 oct. 2007 à 10:40
<html><head>
<style>
#menuC {
color:#0080ff;
background-color:#000000;
position:absolute;
left:-395px;
top:-395px;
width:12em;
border: 5px outset green;
line-height:0.9em;
cursor:default;
}
#menuC a {
color:#0080ff;
font-size:15px;
font-family:Times New Roman,Arial;
font-weight:bold;
padding-left:15px;
padding-right:15px;
cursor:hand;
}
#menuC a:hover {
color:#ffffff;
font-size:15px;
font-family:Times New Roman,Arial;
font-weight:bold;
padding-left:15px;
padding-right:15px;
cursor:hand;
}
</style>
<script language="JavaScript">
// Le sommaire : Début
var menuC;
var menuCStyle;
var ie=0;
function showmenuC(e){ // Place le sommaire et l'affiche à l'écran
if (ie==1)
{
var cX (navigator.appName.substring(0,3) "Net") ? e.pageX : event.clientX;
var cY (navigator.appName.substring(0,3) "Net") ? e.pageY : event.clientY;
var rightedge= document.body.clientWidth-cX;
var bottomedge= document.body.clientHeight-cY;
if (rightedge>menuC.offsetWidth) {menuCStyle.left=document.body.scrollLeft+cX;}
else {menuCStyle.left=document.body.scrollLeft+cX-menuC.offsetWidth;}
if (document.body.scrollLeft>document.body.scrollLeft+cX-menuC.offsetWidth && rightedge<menuC.offsetWidth)
{menuCStyle.left=document.body.scrollLeft;}
if (bottomedge>menuC.offsetHeight) {menuCStyle.top=document.body.scrollTop+cY;}
else {menuCStyle.top=document.body.scrollTop+cY-menuC.offsetHeight;}
if (document.body.scrollTop>document.body.scrollTop+cY-menuC.offsetHeight && bottomedge<menuC.offsetHeight)
{menuCStyle.top=document.body.scrollTop;}
menuCStyle.visibility="visible";
return false;
}
else
{
if (e.button==2||e.button==3)
{
var cX (navigator.appName.substring(0,3) "Net") ? e.pageX : event.clientX;
var cY (navigator.appName.substring(0,3) "Net") ? e.pageY : event.clientY;
var rightedge= document.body.clientWidth-cX;
var bottomedge= document.body.clientHeight-cY;
if (rightedge>menuC.offsetWidth) {menuCStyle.left=document.body.scrollLeft+cX;}
else {menuCStyle.left=document.body.scrollLeft+cX-menuC.offsetWidth;}
if (document.body.scrollLeft>document.body.scrollLeft+cX-menuC.offsetWidth && rightedge<menuC.offsetWidth)
{menuCStyle.left=document.body.scrollLeft;}
if (bottomedge>menuC.offsetHeight) {menuCStyle.top=document.body.scrollTop+cY;}
else {menuCStyle.top=document.body.scrollTop+cY-menuC.offsetHeight;}
if (document.body.scrollTop>document.body.scrollTop+cY-menuC.offsetHeight && bottomedge<menuC.offsetHeight)
{menuCStyle.top=document.body.scrollTop;}
menuCStyle.visibility="visible";
return false;
}
else
{
hidemenuC();
}
}
}
function hidemenuC(){menuCStyle.visibility="hidden";} // Cache le sommaire.
if (navigator.appName.substring(0,3) == "Net") document.captureEvents(Event.MOUSEMOVE);
// Le sommaire : Fin
</script>
</head>
[liens1.html Liens 1]
[liens2.html Liens 2]
<hr size="1" noshade />
[liens3.html Liens 3]
<script language="JavaScript">
if (document.all) // for IE
{
ie=1;
document.oncontextmenu=showmenuC;
document.onclick=hidemenuC;
}
else // for FF
{
document.onclick=showmenuC;
}
menuC=document.getElementById("menuC");
menuCStyle=document.getElementById("menuC").style;
</script>
</html>
je n'ai pas réussi a simplifier d'avantage... mais de cette façon cela fonctionne sous IE et firefox!(testé avec les versions 1.5.0.12 et 2.0.0.7)
17 oct. 2007 à 09:09
je viens de tester cette source qui est vraiment sympa sauf que ... ça marche pas bien sous firefox :-( le click droit fait également afficher le menu contextuel de firefox... quelqu'un saurait t'il comment éviter cela ?
Merci d'avance.
12 sept. 2007 à 16:38
Ensuite, le script modifié permettant de faire apparaître le menu contextuel sur l'elt. de son choix fonctionne presque parfaitement.
En effet, j'ai voulu le tester avec une image et en cliquant sur celle-ci le menu est apparu mais sous l'image!!
En essayant de jouer avec les Zindex, je n'ai pas réussi à le faire apparaitre dessus.
De plus, débutant en javascript, j'ai lu que la fonction "oncontextmenu" était spécifique à IE et que les autres navigateurs ne le comprenaient pas => question : la modif' avec le 'oncontextmenu="showmenuC();return false;"' inséré dans l'elt. fonctionnera t-elle avec les autres navigateurs??
Bref si qq'un pouvait m'éclairer, j'en serai très reconnaissant.
Merci d'avance et pardonnez moi mes faiblesses, je débute..
25 juil. 2006 à 00:25
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
le script ne fonctionne plus, il est à remarquer que ce bug ce reproduit sur beaucoup des scripts proposés sur ce site.
Quel peux en être l'origine et comment corriger cela ?
30 déc. 2005 à 15:50
Merci beaucoup!!
30 déc. 2005 à 13:52
'oncontextmenu="showmenuC();return false;"'
29 déc. 2005 à 15:28
Serais-tu comment ne pas avoir le menu IE ?
Merci par avance
28 déc. 2005 à 17:56
document.oncontextmenu=showmenuC;
et il faut insérer le 'oncontextmenu="showmenuC();"' ds l'élément
28 déc. 2005 à 14:45
Est-ce possible?
22 août 2004 à 10:42
a+ et bonne prog.
20 août 2004 à 23:55
En plus je l'ai simplifié, pour que l'on puisse insérer ce que l'on veux et comme on le veux dans le menu.
On peut se servir de mon menu comme d'un anti-click droit en insérant une image ou un text à la place des liens.
Merci de me confirmé son bon fonctionnement.
31 oct. 2003 à 00:38
Merci.
30 oct. 2003 à 20:23
Tu peut trouver d'autre programme de ce type adapté à netscape,
ensuite il doit être facile d'adapté la partie que j'ai madifié.
30 oct. 2003 à 20:02
Bonne continuation flashfun.
a+, Nocturne