sebastiez
Messages postés28Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention12 juillet 2019
-
9 avril 2007 à 15:55
stfou
Messages postés450Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention18 avril 2007
-
11 avril 2007 à 17:53
Bonjour, je ne sais pas si je me suis positionné sur le bon thème pour poster mon message mais bon... voici le script que je voudrais mettre en place mais une erreur
s'y est involontairement dissimuler car il ne fonctionne pas.
J'en appelle donc aux connaisseurs pour m'aider dans la correction de ce script.
stfou
Messages postés450Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention18 avril 20073 9 avril 2007 à 16:56
J'améliore ton script :
function LienAuHasard()
{
var Url=["http:\/\/www.site1.com","http:\/\/www.site2.be","http:/\/www.site3.nu","http:\/\/www.site4.fr"];
window.open(Url[Math.round(Math.random()*Url.length)],"_self");
}
<hr /><hr />STFOU
Vous n’avez pas trouvé la réponse que vous recherchez ?
stfou
Messages postés450Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention18 avril 20073 9 avril 2007 à 17:00
Salut à toi aussi bultez, pourquoi un problème ? quel anti-slashs ?
Cependant, je suis d'accord avec toi sur le location.href, soit il fait directement :
location.href=Url[Math.round(Math.random()*Url.length)],"_self");
Ou soit il garde sa fonction.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 9 avril 2007 à 18:40
salut stfou... c'est toi qui disais : Tu dois échapper tes slashs
or var tmp="http://www..../toot/titi/...." ça baigne... les slashs /
par contre essayes var tmp="d:\utilitaires\toto\titi...."; ça va moins bien... les anti slashs \
sebastiez
Messages postés28Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention12 juillet 2019 9 avril 2007 à 19:17
Merci à stfou et bultez de m'aider et de vous être interressé à mon problème.
Voici donc les modifications que j'ai apporté à ce scripte suite à vos bons conseils :
<script>
function LienAuHasard()
{
var Url=["http:\/\/www.site1.com","http:\/\/www.site2.be","http:\/\/www.site3.nu","http:\/\/www.site4.fr"];
window.open(Url[Math.round(Math.random()*Url.length)],"_self");
}
</script>
<script type="text/javascript">LienAuHasard();</script>
Le script fonction. J'arrive à obtenir une redirection vers les URLs inscrites mais... (il y aura toujours 1 mais)
Aléatoirement, je tombe sur l'url "http:///" ou IE me marque "unefined"
J'ai essayé avec http:\/\/www. et http:\/\/www. mais ca n'a rien changé.
J'ai rajouté ,"_self") pour la redirection s'effectue sur la même page.
J'ai essayé aussi avec FireFox (v2) pour voir si le problème viendrais d'IE mais non.
J'ai également changé les urls contre des urls valides. le http:/// et le undefined aurais pu venir de là.
Oui pour le http:/// car il n'y en a plus et non pour le undefined. A son affichage, la console d'erreurs de Firefox m'affiche ce message :
Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIDOMLocation.href]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: file:///C:/TEST/index.htm :: LienAuHasard :: line 10" data: no]
J'y comprend rien mais j'espère que ca vous aidera.
sebastiez
Messages postés28Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention12 juillet 2019 9 avril 2007 à 20:15
J'ai trouvé la solution !!! (enfin)
Grace à un autre scripte pour des liens aléatoires et à ce que j'ai appris dans vos conseils, j'ai pu le modifier et sa marche impek.
Voici donc le résultat :
<hr size="2" width="100%" /><script>
function variable(url)
{
window.location=url;
}
function LienAuHasard()
{
var a;
a = 1+Math.round(Math.random()*3);
if (a==1)
variable("http://www.google.fr");
if (a==2)
variable("http://www.google.com");
if (a==3)
variable("http://www.yahoo.fr");
if (a==4)
variable("http://www.javascriptfr.com");
}
</script>
<script type="text/javascript">LienAuHasard();</script>
<hr size="2" width="100%" />Merci pour votre aide. Sans cela, je n'y serai pas arrivé
stfou
Messages postés450Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention18 avril 20073 9 avril 2007 à 20:45
j'ai rajouté "_self " pourque la redirection s'effectue dans la meme page
Quoi ? window.open() c'est pour ouvrir une fenetre ! location.href permet de changer l'url de la page.
Ensuite, chez moi, le script, tout baigne.
Et pour ton dernier script, mieux vaut faire un switch, et si tous tes sites commencent par http://www., alleger le code :
function GO(url){window.location.href="http:\/\/www."+url}
function lienauhasard()
{
var a=Math.round(Math.random()*3);
switch(a)
{
case0 : GO("site1.fr") break;
case1 : GO("site2.com") break;
case2 : GO("site3.fr") break;
case3 : GO("site4.com") break;
}
}