Rendre image cliquable DHTML dans script fournit

Résolu
bernie69 Messages postés 5 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 2 avril 2005 - 31 mars 2005 à 14:55
bernie69 Messages postés 5 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 2 avril 2005 - 2 avril 2005 à 03:38
Bonjour à tous,

Pour une de mes pages d'un site en php, j'ai intégré un script dhtml
pris ici : http://www.dhteumeuleu.com/ (cliquer sur "les scripts"
dans menu du bas puis rechercher le script s'appelant Hector.html).


Après avoir modifié quelques paramètres dont l'image ;-) il ne me reste
plus qu'à rendre cliquable cette image pour qu'on puisse, onclick,
télécharger un fichier.


Or, ni la balise a href ni url dans le style d'image ne sont
actifs.....j'ai donc besoin d'aide juste pour rendre cliquable cette
image.



Merci d'avance à ceux qui vont regarder mon problème.

ps : code source

<HEAD>
<title>Hector - Interactive DHTML art-demos</title>
<meta name="Author" content="Gerard Ferrandez at http://www.dhteumeuleu.com">
<meta http-equiv="imagetoolbar" content="no">
<style type="text/css">
body {cursor:crosshair;margin:0; padding:0; position:absolute; overflow:hidden; background:#000; left:0; top:0; width:100%; height:100%;zIndex:-2;}
img {position:absolute; left:-10000;}
span {position:absolute; overflow:hidden;left:-1000;font-size:1px;}
</style>

<script type="text/javascript"><!--
// ======================================================
// Script by Gerard Ferrandez - Ge-1-doot - Dec 2001
// news://news.leibowitz.org/nzn.fr.html
// http://www.dhteumeuleu.com// window.onerror new Function("return true");
document.onselectstart = new Function("return false");
screen.bufferDepth = 16;

var xm = 0;
var ym = 0;

function CObj(N,parent){
this.S=(N+1)*P;
var o = document.createElement("span");
o.style.width = this.S;
o.style.height = this.S;
o.style.zIndex = 10000-N;
document.body.appendChild(o);
var i = document.createElement("img");
i.src = MP.src;
i.style.left = -(MP.width/2-this.S/2);
i.style.top = -(MP.height/2-this.S/2);
o.appendChild(i);
this.S = this.S * 0.5;
this.spa = o.style;
this.ddx = 0;
this.ddy = 0;
this.PX = xm;
this.PY = ym;
this.x = 0;
this.y = 0;
this.parent = parent;
this.anim = function (){
with (this) {
x0 = (parent)?parent.x:xm+Math.random()*6-3;
y0 = (parent)?parent.y:ym+Math.random()*6-3;
ddx = (x0-PX) * 0.5;
ddy = (y0-PY) * 0.5;
x = PX+=ddx;
y = PY+=ddy;
spa.left = x - S;
spa.top = y - S;
if(O)O.anim();
}
}
this.O = null;
if(N<NBi)this.O = new CObj(N+1,this);
}

function run(){
O.anim();
setTimeout("run();", 16);
}

onload = function() {
MP = document.getElementById("hector");
xm = document.body.offsetWidth/2;
ym = document.body.offsetHeight/2;
document.onmousemove = function(e){
if (window.event) e = window.event;
xm = (e.x || e.clientX);
ym = (e.y || e.clientY);
}
N = 0;
NBi = 60;
P=Math.max(MP.width,MP.height)/NBi;
O = new CObj(0);
run();
}
//-->
</script>
</head>

<body>

<IMG id="hector" src="ZB-otus.jpg">

7 réponses

bernie69 Messages postés 5 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 2 avril 2005
1 avril 2005 à 14:31
testé sous IE et firefox :



i.onclick
=
new
Function("window.open('repertoire/fichier.zip','_blank');")
fonctionne très bien avec ou sans '_blank'

toutefois sous firefox une page blanche se créée en plus de la check box de téléchargement

sous IE on voit en fond de tache qu'une fenêtre se créé mais se referme aussitôt.



mêmes remarques pour cette solution :

onclick=
"
window.open('repertoire/fichier.zip','_blank');">

à la seule différence prete que le temps de chargement de la page est plus longue.





Donc je préfère la première solution.

Je considère que tu as répondu à ma demande de base et je t'en remercie vivement.



Si tu as une solution pour éviter la page créée sous firefox ce serait le top du top.



Encore merci.
3
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
1 avril 2005 à 02:30
Salut!

Dans la fonction CObj, après cette ligne : var i
= document
.createElement
("img");

Ajoute ceci :



i
.onclick
=
new
Function(" //ici tu fait l'action au clique sur l'image ")

A+, Ghislain
0
bernie69 Messages postés 5 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 2 avril 2005
1 avril 2005 à 13:06
Bonjour Ghislain,

Tout d'abord merci beaucoup pour ta précieuse aide.



J'ai donc inséré ta ligne et testé...voilà ce qu'il en ressort :

testé sous IE et firefox j'observe les mêmes choses à savoir :



quand j'insère le chemin complet du fichier à télécharger, l'image n'apparait même plus...

i.
onclick
=
new
Function("http://www.domaine.com/repertoire/fichier.zip")


quand j'insère le chemin relatif, rien ne se passe , le script fonctionne comme avant...

i.
onclick
=
new
Function("repertoire/fichier.zip")



Voilà...si tu as une idée...
0
bernie69 Messages postés 5 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 2 avril 2005
1 avril 2005 à 13:23
tiens une idée comme ça, je ne sais pas si c'est plus facile ou si ça
complique ma demande mais au lieu de rendre cliquable l'objet, pour
quoi ne pas rendre cliquable l'ensemble de la page ?...vu qu'il n'y à
qu'une image dedans et que le but est de faire télécharger un fichier
derriere...



enfin je dis ça je ne dis rien car je suis analphabète devant ce code :-(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
1 avril 2005 à 13:52
Salut!

C'est certain que l'on pourait le faire directement sur un évènement du body.

Essai comme ceci :

i.onclick
=
new
Function("window.open('repertoire/fichier.zip','_blank');")

ou comme le propose bernie69

A+, Ghislain
0
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
2 avril 2005 à 00:39
Salut!

J'ai essayer ewn local sur EI et FIREFOX et ça fonctionne comme ceci :



A+
0
bernie69 Messages postés 5 Date d'inscription jeudi 17 septembre 2009 Statut Membre Dernière intervention 2 avril 2005
2 avril 2005 à 03:38
Merci 1000 fois

Je teste ça demain car là crevé...



+++++++
0
Rejoignez-nous