Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1535 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  redirection location.href

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

redirection location.href

n°1239651
airsupply
Posté le 06-11-2005 à 13:28:08  profilanswer
 

Bonjour,  
 
je travaille sous une plate-forme XP avec comme navigateur natif IE6 sp2.
J'ai une simple page HTML utilisant du code javascript. Je souhaite changer d'URL lorsque je clique sur un objet tel qu'une image.
Je n'arrive pas à utiliser la fonction location() de javascript pour  changer l'URL  sous IE ...  par contre, ça fonctionne sous FIREFOX.
 
y a t-il une autre fonction dédié à IE 6 ??
 
 
voici le code :
 
function redirect(){  
window.location.href = "http://www.exemple.com";  
}
 
<body>
<a href="javascript:;" OnClick="redirect()"><img src="image.jpg"></a>
</body>
 
 
merci

mood
Publicité
Posté le 06-11-2005 à 13:28:08  profilanswer
 

n°1239652
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 13:34:34  profilanswer
 

Tu peux m'expliquer quel est l'intérêt de faire ça comparé à... je sais pas... un simple lien [:petrus dei]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1239655
antp
Super Administrateur
Champion des excuses bidons
Posté le 06-11-2005 à 13:37:13  profilanswer
 

pourquoi tu mets pas ton url directement dans le href ? Parce que là c'est crado... Si c'est pour le faire en javascript autant mettre directement le onclick sur l'image, pas besoin de <a> si c'est pour ne pas y mettre d'URL.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1239663
airsupply
Posté le 06-11-2005 à 13:52:34  profilanswer
 

antp a écrit :

pourquoi tu mets pas ton url directement dans le href ? Parce que là c'est crado... Si c'est pour le faire en javascript autant mettre directement le onclick sur l'image, pas besoin de <a> si c'est pour ne pas y mettre d'URL.


 
 
en fait c simple, ce qu'il manque dans le code javascript que j'ai balancé, c'est qu'il y a une demande confirmation à travers un POP-UP ...  
c pour ça que je passe par du javascript ..  
 

n°1239670
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 14:09:19  profilanswer
 

airsupply a écrit :

en fait c simple, ce qu'il manque dans le code javascript que j'ai balancé, c'est qu'il y a une demande confirmation à travers un POP-UP ...  
c pour ça que je passe par du javascript ..


J'appelle ça du mauvais codage personnellement.
 
Imaginons par exemple que ton visiteur ait désactivé le javascript (parce qu'il surfe depuis le boulot et que, pour des raisons de sécurité, les admins ont désactivé le javascript pour la zone internet), il fait comment, il l'a dans le cul et il faut encore qu'il te remercie [:petrus dei]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1239704
xtof_83
Freeride Spirit
Posté le 06-11-2005 à 15:19:49  profilanswer
 

Ouais et si la popup est elle aussi désactiver...
 
mdr il va pas y avoir grand chose qui va se passer... ;)

n°1239753
airsupply
Posté le 06-11-2005 à 17:03:36  profilanswer
 

xtof_83 a écrit :

Ouais et si la popup est elle aussi désactiver...
 
mdr il va pas y avoir grand chose qui va se passer... ;)


 
le popup n'est pas désactivé, j'utilise la fonction confirm() .
 
bon, alors personne n'a une idée sur le fait que location.href fonctionne sous firefox et non pas sous IE 6.0 sp2 ????
 
 
à l'aideeeee

n°1239761
airsupply
Posté le 06-11-2005 à 17:21:56  profilanswer
 

masklinn a écrit :

J'appelle ça du mauvais codage personnellement.
 
Imaginons par exemple que ton visiteur ait désactivé le javascript (parce qu'il surfe depuis le boulot et que, pour des raisons de sécurité, les admins ont désactivé le javascript pour la zone internet), il fait comment, il l'a dans le cul et il faut encore qu'il te remercie [:petrus dei]


 
tout à fait d'accord avec ton opinion. Seulement, y a t-il un autre moyen pour demander confirmation avant une action en cliquant sur une image et en utilisant un popup windows ???  

n°1239848
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 18:50:13  profilanswer
 

airsupply a écrit :

tout à fait d'accord avec ton opinion. Seulement, y a t-il un autre moyen pour demander confirmation avant une action en cliquant sur une image et en utilisant un popup windows ???


Je parle pas de l'utilisation du confirm(), mais de tout le reste (imposer le javascript, ne pas offrir de liens réels, ...)
 
Dans l'idéal, si j'ai des liens dangereux demandant confirmation dans ma page, je vais faire un truc de ce style:
 
HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>Test page</title>
        <script type="text/javascript" src="test.js"></script>
    </head>
    <body>
        <p><a href="page.html" title="Permet d'effacer son profil" class="dangerous">Dangerous link</a></p>
    </body>
</html>


On fait des liens classiques, propres, avec des <a href="">. On leur donne un titre (indiquant à quoi ils servent, ou bien où ils mènent) et les liens dangereux sont marqués sémantiquement (ici, on les marque comme étant "dangerous" )
 
Ensuite JS

Code :
  1. function changeLinks() {
  2.     links = document.getElementsByTagName('A');
  3.     for(var i=links.length-1; i>=0; --i)
  4.         if(links[i].className.indexOf("dangerous" ) != -1) {
  5.             // lien flaggé "dangereux"
  6.             links[i].onclick = function () {
  7.                 return confirm("Lien dangereux:\n"+this.title);
  8.             }
  9.         }
  10. }
  11. window.onload = function () {
  12.         changeLinks();
  13.     }


Un peu plus compliqué:
Tout d'abord, on récupère l'intégralité des liens (des éléments "A" pour être plus précis).
 
Pour chaque lien, on teste ensuite s'il a été marqué comme dangereux (càd si il y a "dangerous" dans sa liste de classes)
 
Puis, pour chaque lien dangereux on ajoute une confirmation de click (en mettant le title du lien dans le message, afin que l'utilisateur sache pour quelle raison le lien est dangereux).
 
De cette manière

  • Les utilisateurs avec JS sont prévenus proprement
  • Les utilisateurs sans JS peuvent quand même utiliser le lien.


Ensuite, pour ce genre de liens on peut imaginer une page intermédiaire jouant le rôle du confirm() pour les gens sans JS.
 
Pour ça, il suffirait de mettre cette page (de confirmation) comme lien par défaut, et de modifier le lien dans le Javascript (pour pointer directement sur la page de suppression quand le JS est activé, et donc que l'utilisateur passera par le confirm)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1239870
airsupply
Posté le 06-11-2005 à 19:02:56  profilanswer
 

masklinn a écrit :

Je parle pas de l'utilisation du confirm(), mais de tout le reste (imposer le javascript, ne pas offrir de liens réels, ...)
 
Dans l'idéal, si j'ai des liens dangereux demandant confirmation dans ma page, je vais faire un truc de ce style:
 
HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <title>Test page</title>
        <script type="text/javascript" src="test.js"></script>
    </head>
    <body>
        <p><a href="page.html" title="Permet d'effacer son profil" class="dangerous">Dangerous link</a></p>
    </body>
</html>


On fait des liens classiques, propres, avec des <a href="">. On leur donne un titre (indiquant à quoi ils servent, ou bien où ils mènent) et les liens dangereux sont marqués sémantiquement (ici, on les marque comme étant "dangerous" )
 
Ensuite JS

Code :
  1. function changeLinks() {
  2.     links = document.getElementsByTagName('A');
  3.     for(var i=links.length-1; i>=0; --i)
  4.         if(links[i].className.indexOf("dangerous" ) != -1) {
  5.             // lien flaggé "dangereux"
  6.             links[i].onclick = function () {
  7.                 return confirm("Lien dangereux:\n"+this.title);
  8.             }
  9.         }
  10. }
  11. window.onload = function () {
  12.         changeLinks();
  13.     }


Un peu plus compliqué:
Tout d'abord, on récupère l'intégralité des liens (des éléments "A" pour être plus précis).
 
Pour chaque lien, on teste ensuite s'il a été marqué comme dangereux (càd si il y a "dangerous" dans sa liste de classes)
 
Puis, pour chaque lien dangereux on ajoute une confirmation de click (en mettant le title du lien dans le message, afin que l'utilisateur sache pour quelle raison le lien est dangereux).
 
De cette manière

  • Les utilisateurs avec JS sont prévenus proprement
  • Les utilisateurs sans JS peuvent quand même utiliser le lien.


Ensuite, pour ce genre de liens on peut imaginer une page intermédiaire jouant le rôle du confirm() pour les gens sans JS.
 
Pour ça, il suffirait de mettre cette page (de confirmation) comme lien par défaut, et de modifier le lien dans le Javascript (pour pointer directement sur la page de suppression quand le JS est activé, et donc que l'utilisateur passera par le confirm)


 
 
 
 
ok, c très clair .. je te remerci pour cet exemple concret.  
je m'en vais essayer sur le champ .
 

mood
Publicité
Posté le 06-11-2005 à 19:02:56  profilanswer
 

n°1239873
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 19:04:09  profilanswer
 

Et accessoirement ça fonctionne nickel sous Firefox 1.0, Internet Explorer 6 SP1 et Opera 8.5 :o
 
Et il est plus que probable que ça fonctionne tout aussi bien sous Firefox 1.5, IE6SP2, IE7, IE5.x, Safari et Konqueror :o

Message cité 1 fois
Message édité par masklinn le 06-11-2005 à 19:05:00

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1239908
airsupply
Posté le 06-11-2005 à 19:45:59  profilanswer
 

masklinn a écrit :

Et accessoirement ça fonctionne nickel sous Firefox 1.0, Internet Explorer 6 SP1 et Opera 8.5 :o
 
Et il est plus que probable que ça fonctionne tout aussi bien sous Firefox 1.5, IE6SP2, IE7, IE5.x, Safari et Konqueror :o


 
 
bon, ça fonctionne parfaitement aussi bien sous IE 6.0 que sous Firefox.
Seulement, la confirmation n'est demandée qu'une seule fois.  
Je m'explique : si l'on suppose que je dois supprimer plusieurs enregistrement sous une même page , alors, je demande une confirmation pour chacune de ces suppresions.  
alors, pour le premier, j'ai bien la demande de confirmation, mais pas pour le 2eme, et le reste. Peut être qu'il est judicieux de choisir une autre fonction que window.onload ???
 
qu'en penses tu ?

n°1239914
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 19:57:42  profilanswer
 

airsupply a écrit :

bon, ça fonctionne parfaitement aussi bien sous IE 6.0 que sous Firefox.
Seulement, la confirmation n'est demandée qu'une seule fois.  
Je m'explique : si l'on suppose que je dois supprimer plusieurs enregistrement sous une même page , alors, je demande une confirmation pour chacune de ces suppresions.


[:petrus dei]
 
Je crains légèrement le pire là, je peux avoir un peu plus de code ou une demo de la page [:petrus75]

Citation :

Peut être qu'il est judicieux de choisir une autre fonction que window.onload ???
 
qu'en penses tu ?


Que tu n'as peut être pas compris à quoi sert window.onload


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1239923
airsupply
Posté le 06-11-2005 à 20:09:05  profilanswer
 

masklinn a écrit :

[:petrus dei]
 
Je crains légèrement le pire là, je peux avoir un peu plus de code ou une demo de la page [:petrus75]

Citation :

Peut être qu'il est judicieux de choisir une autre fonction que window.onload ???
 
qu'en penses tu ?


Que tu n'as peut être pas compris à quoi sert window.onload


 
 
le bout de code que je viens d'utiliser, c'est le tien.  
c simple. tu as une page en php contenant une requete mysql . Le résultat est affiché en sortie en forme de plusieurs enregistrement.
pour chaque enregistrement, je souhaite pouvoir le supprimer. ta méthode fonctionne en appliquant donc à chaque enregistrement un lien HREF avec la class choisie (ici, dangerous :-) ) .  pour une première suppression et ce quelque soit l'enregistrement, cela fonctionne, j'ai bien une demande de confirmation. Seulement, pour le reste des enregistrements, niette ..; il supprimer sans demande de confirmation.
 
malheureusement, je ne pas donner accès de l'extérieur . je suis désolé

n°1239941
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 20:52:41  profilanswer
 

Ok, super, mais tu la fais comment la suppression? [:itm]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1239981
airsupply
Posté le 06-11-2005 à 21:43:18  profilanswer
 

masklinn a écrit :

Ok, super, mais tu la fais comment la suppression? [:itm]


 
dans la nouvelle URL choisie, je passe des variables en paramètres qui seront utilisées dans un autre script pour actionner les requetes de suppression ..

n°1240005
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2005 à 22:02:01  profilanswer
 

hum...
 
Je t'explique. Là tout de suite, ma boule de cristal est au garage en réparation, donc avec des infos aussi précise que "ça marche pas" je vais pas pouvoir faire grand chose tu sais.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1240030
KangOl
Profil : pointeur
Posté le 06-11-2005 à 22:21:04  profilanswer
 

AMHA faut que tu revois tes notions de client/serveur...


---------------
Nos estans firs di nosse pitite patreye...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  redirection location.href

 

Sujets relatifs
redirection sans phphref file
[ksh] Ecrire dans STDERR sans redirection ?Redirection.
redirection vers une page web[résolu] redirection vers une page autre site
Redirection permanante 301 ?? Help meBalise HREF : download d'un fichier HTML
créer un fichier .txt et faire un lien sur la .jsp / href (Websphere)Etrangetée header location
Plus de sujets relatifs à : redirection location.href


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR