Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

exécuter javascript depuis page parent sur popup image enfant [reposté]

Envoyé: 16 février 2005, 14h44 par kireip


Salut,
Faisant mes premiers pas en javascript, mes compétences s'avèrent très limitée avec ce language - ainsi qu'avec la programmation en général d'ailleurs ;)

Mon problème actuel est le suivant : j'essaie de fusionner deux scripts, l'un permetant d'ouvrir une image dans un popup (dimensions automatiques, possibilité d'éditer le titre de la fenêtre, disposition x,y) et l'autre désactivant le clic droit dans le navigateur (NS et IE), cela afin de désactiver la possibilité de clic droit dans la fenêtre parent ainsi que dans celle enfant (PopUp image) où s'ouvre l'image.

Vu que la fenêtre popup n'ouvre pas une page HTML mais une image, j'essaie d'exécuter le script sur la fenêtre popup générique depuis la page HTML parent (j'ai choisi ce système car j'ai une trop grosse quantité d'images à gérer).

Le script fonctionne très bien sous Netscape et Firefox (le clic droit est désactivé sur la page parent comme sur l'image ouverte en popup) mais le hic apparaît sous Internet Explorer : le clic sur la page parent est désactivé mais pas sur la popup enfant.

Sous l'angle javascript ça donne quelque chose du genre :


******** dans la partie <HEAD> (parent) ********

var surface,nexus,failles,hybricite;
var message="";

// --> source DESACTIVE CLIC DROIT
function clickIE() {
if (document.all) {(message);return false;}}

function clickNS(e) {
if (document.open.layers||(document.open.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {(message);return false;}}}

// --> source OUVRIR IMAGE dans POPUP (openPictureWindow Fever! v4.01)
function openPictureWindow_Fever(imageType,imageName,imageWidth,imageHeight,alt,posLeft,posTop) {
newWindow = window.open("","newWindow","width="+imageWidth+",height="+imageHeight+",scrollbars=no,left="+posLeft+",top="+posTop);
newWindow.document.open();
newWindow.document.write('<html><title>'+alt+'</title><body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" onBlur="self.close()">');
if (imageType == "swf"){
newWindow.document.write('<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\"'+imageWidth+'\" height=\"'+imageHeight+'\">');
newWindow.document.write('<param name=movie value=\"'+imageName+'\"><param name=quality value=high>');
newWindow.document.write('<embed src=\"'+imageName+'\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"'+imageWidth+'\" height=\"'+imageHeight+'\">');
newWindow.document.write('</embed></object>'); }else{
newWindow.document.write('<img src=\"'+imageName+'\" width='+imageWidth+' height='+imageHeight+' alt=\"'+alt+'\">'); }
newWindow.document.write('</body></html>');
newWindow.document.close();
newWindow.focus();
// --> fusion avec DESACTIVE CLIC DROIT
if (newWindow.document.layers)
{newWindow.captureEvents(Event.MOUSEDOWN);newWindow.document.onmousedown=clickNS;}
else{newWindow.document.onmouseup=clickNS;newWindow.document.oncontextmenu=clickIE;}
newWindow.document.oncontextmenu=new Function("return false")
}

******** et dans la partie <body> (parent) ********

<a href="javascript:;" onClick="openPictureWindow_Fever('jpg','bla/bla/image.jpg','425','425','titre de l'image','15','150')"><img src="bla/bla/image_lien.jpg" width="50" height="50" border="0"></a>


Vu mon niveau plutôt médiocre, je pense que le problème viens d'une mauvaise syntaxe ou d'un paramètre mal adapté... mais lequel? :°
Si quelqu'un à la bonté de se pencher sur mon cas il m'enleverrai une bonne épine du clavier...

PS : je sais que le fait de désactiver le clic droit n'est qu'un moyen de "surface" pour protéger des données mais bon c'est déjà ça de sauvé...

merci


Réponses

 sp spRe: exécuter javascript depuis page parent sur popup image enfant [reposté] kireip17/2/2005
Aucun médias sociaux
X

Trucsweb.com Connexion

X

Trucsweb.com Mot de passe perdu

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte