index.html

Le
ANDBRETON
Bonjour,

j'ai écrit une page index.html dans l'espoir d'afficher une photo
aléatoirement à chaque chargement ou rafraichissement.
Je suis chez free, disons : http://toto.free.fr/

si je tape http://toto.free.fr/ : tout va bien, une photo s'affiche.
si je tape http://toto.free.fr/index.html : pas de photo, seulement le
texte de la balise alt.

voici le code :


<script language="JavaScript">
<!--
function randomImg(){
var tabImg = new Array();
tabImg[0] = "gal/a016.jpg";
tabImg[1] = "gal/a120.jpg";
tabImg[2] = "gal/a135.jpg";
tabImg[3] = "gal/a022.jpg";
tabImg[4] = "gal/a007.jpg";
document.getElementById('image').src += tabImg[Math.round
(Math.random()*4)];
}
//-->
</script>
</head>
<body onload="randomImg()">
<img src="" alt="Photos" id="image" />
</body>


où me suis fourvoyé??

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #19583671
Le 17/06/2009 08:21, ANDBRETON a écrit :

[...]

si je tape http://toto.free.fr/ : tout va bien, une photo s'affiche.
si je tape http://toto.free.fr/index.html : pas de photo, seulement le
texte de la balise alt.

[...]

tabImg[4] = "gal/a007.jpg";
document.getElementById('image').src += tabImg[Math.round(Math.random()*4)];

[...]

où me suis fourvoyé??



Je parie que l'attribut src prend par défaut l'URL de la page, et que
donc faire « += » donne la chose suivante selon l'URL saisie :
http://toto.free.fr/
-> http://toto.free.fr/gal/aNNN.jpg
http://toto.free.fr/index.html
-> http://toto.free.fr/index.htmlgal/aNNN.jpg

--
Olivier Miakinen
ANDBRETON
Le #19583881
On 17 juin, 09:04, Olivier Miakinen
Le 17/06/2009 08:21, ANDBRETON a écrit :



> [...]

> si je tapehttp://toto.free.fr/: tout va bien, une photo s'affiche.
> si je tapehttp://toto.free.fr/index.html: pas de photo, seulement le
> texte de la balise alt.

> [...]

>    tabImg[4]  = "gal/a007.jpg";
>    document.getElementById('image').src += tabImg[Math.round(Math .random()*4)];

> [...]

> où me suis fourvoyé??

Je parie que l'attribut src prend par défaut l'URL de la page, et que
donc faire « += » donne la chose suivante selon l'URL saisie :
 http://toto.free.fr/
  ->http://toto.free.fr/gal/aNNN.jpg
 http://toto.free.fr/index.html
  ->http://toto.free.fr/index.htmlgal/aNNN.jpg

--
Olivier Miakinen



Merci

Effectivement, je viens de le vérifier avec FireBug

Une solution ??
Bruno Desthuilliers
Le #19585141
ANDBRETON a écrit :
On 17 juin, 09:04, Olivier Miakinen
Le 17/06/2009 08:21, ANDBRETON a écrit :



[...]
si je tapehttp://toto.free.fr/: tout va bien, une photo s'affiche.
si je tapehttp://toto.free.fr/index.html: pas de photo, seulement le
texte de la balise alt.
[...]
tabImg[4] = "gal/a007.jpg";
document.getElementById('image').src += tabImg[Math.round(Math.random()*4)];
[...]
où me suis fourvoyé??


Je parie que l'attribut src prend par défaut l'URL de la page, et que
donc faire « += » donne la chose suivante selon l'URL saisie :
http://toto.free.fr/
->http://toto.free.fr/gal/aNNN.jpg
http://toto.free.fr/index.html
->http://toto.free.fr/index.htmlgal/aNNN.jpg




Merci

Effectivement, je viens de le vérifier avec FireBug

Une solution ??



Heu.... Utiliser des chemins absolu pour les images, et une affectation
simple au lieu d'une affectation augmentée ?

tabImg[4] = "/gal/a007.jpg";
document.getElementById('image').src = tabImg[Math.round(Math.random()*4)];
ANDBRETON
Le #19585191
On 17 juin, 12:34, Bruno Desthuilliers <bruno.
wrote:
ANDBRETON a écrit :



> On 17 juin, 09:04, Olivier Miakinen >> Le 17/06/2009 08:21, ANDBRETON a écrit :

>>> [...]
>>> si je tapehttp://toto.free.fr/:tout va bien, une photo s'affiche.
>>> si je tapehttp://toto.free.fr/index.html:pas de photo, seulement le
>>> texte de la balise alt.
>>> [...]
>>>    tabImg[4]  = "gal/a007.jpg";
>>>    document.getElementById('image').src += tabImg[Math.round(Ma th.random()*4)];
>>> [...]
>>> où me suis fourvoyé??
>> Je parie que l'attribut src prend par défaut l'URL de la page, et qu e
>> donc faire « += » donne la chose suivante selon l'URL saisie :
>>  http://toto.free.fr/
>>   ->http://toto.free.fr/gal/aNNN.jpg
>>  http://toto.free.fr/index.html
>>   ->http://toto.free.fr/index.htmlgal/aNNN.jpg

> Merci

> Effectivement, je viens de le vérifier avec FireBug

> Une solution ??

Heu.... Utiliser des chemins absolu pour les images, et une affectation
simple au lieu d'une affectation augmentée ?

tabImg[4]  = "/gal/a007.jpg";
document.getElementById('image').src = tabImg[Math.round(Math.random()* 4)];



Super,

Merci.
Dr J R Stockton
Le #19590591
En fr.comp.lang.javascript
0yqd.googlegroups.com>, 16 Juin 2009 23:21:56, ANDBRETON

function randomImg(){
var tabImg = new Array();
tabImg[0] = "gal/a016.jpg";
tabImg[1] = "gal/a120.jpg";
tabImg[2] = "gal/a135.jpg";
tabImg[3] = "gal/a022.jpg";
tabImg[4] = "gal/a007.jpg";
document.getElementById('image').src += tabImg[Math.round
(Math.random()*4)];
}



AUSSI :

function randomImg(){
var tabImg = ["a016", "a120", "a135", "a022", "a007"]
document.getElementById('image').src += // += ?
"gal/" + tabImg[Math.floor(Math.random()*5)] + ".jpg"
}

pour l'égalité des probabilités et aussi pour la brièveté.

--
(c) John Stockton, nr London UK. ?@merlyn.demon.co.uk IE7 FF3 Op9 Sf3
news:comp.lang.javascript FAQ
Publicité
Poster une réponse
Anonyme