Redirection javascript et parametre URL
vitaly
-
Vitaly58 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Vitaly58 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travail sur un site en HTML avec du javascript, pour rediriger l'internaute vers une page précise, j'utilise ce code :
Maintenant, imaginons que l'URL de navigation actuelle soit http://www.toto.fr?url=http://www.test.fr
Comment est-ce que je peux faire pour rediriger l'internaute en récupérant le paramètre en javascript pour que ça renvoie l'internaute sur http://www.test.fr
Merci pour votre aide !
Je travail sur un site en HTML avec du javascript, pour rediriger l'internaute vers une page précise, j'utilise ce code :
<script type="text/javascript">
document.location.replace("http://www.url1.com");
</script>
Maintenant, imaginons que l'URL de navigation actuelle soit http://www.toto.fr?url=http://www.test.fr
Comment est-ce que je peux faire pour rediriger l'internaute en récupérant le paramètre en javascript pour que ça renvoie l'internaute sur http://www.test.fr
Merci pour votre aide !
5 réponses
-
yop, voici un petit code (javascript uniquement) tout simple qui j'espère te conviendra
function parseGetParams() { var $_GET = {}; var params = location.search.substring(1).split('&'); for (var i = 0; i < params.length; ++i) { var param = params[i].split('='); $_GET[param[0]] = param[1]; } return $_GET; } var $_GET = parseGetParams(); alert($_GET.url); alert($_GET['url']);-
-
-
-
$_GET.url et $_GET['url'] sont strictement la même chose au fait (c'est juste 2 manière d'accéder à la valeur) donc utilise celle que tu préfères
par contre c'est bizarre que ça redirige vers http://www.test.fr' target='_blank'>http://www.toto.fr/http://www.test.fr
quand je teste ça me redirige bien vers la bonne page
aurait tu une page d'exemple à montrer ?
que je puisse voir quel est le problème -
Oui, ça fonctionne ! J'avais un bout de code qui faisait "court circuit". Merci beaucoup !
Code qui marche :
<script type="text/javascript"> function parseGetParams() { var $_GET = {}; var params = location.search.substring(1).split('&'); for (var i = 0; i < params.length; ++i) { var param = params[i].split('='); $_GET[param[0]] = param[1]; } return $_GET; } var $_GET = parseGetParams(); alert($_GET['url']); document.location.replace($_GET.url); </script>
Par contre maintenant que ça fonctionne, je voudrais que le code javascript ne se lance uniquement si le paramètre url= est présent dans l'adresse. C'est à dire qu'il ne se déclenche pas si l'url est : https://www.toto.fr/ par contre il se déclenche si l'url est : https://www.toto.fr/?url=http%3A%2F%2Fwww.test.fr
Comment faire ?
-
-
Bonjour,
C'est obligé que ce soit en javascript ? Pas de petit php tout simple ? Ou même de html tout simple ?-
-
J'ai essayé un truc du genre
<script type="text/javascript"> var toto = <?php echo $_GET['url'] ?> document.location.replace(toto); </script>
Mais ça redirige vers https://www.toto.fr/?url=http%3A%2F%2Fwww.test.fr et pas vers http://www.test.fr -
-
oui, je peux mettre ce que je veux. Je peux même mettre https://www.toto.fr/?http://www_test_fr
-
-
-
Comment veux-tu rediriger l'internaute ? Quand il clique sur un lien ?
-
En fait, quand il clique sur un lien, il y a une image intersticielle qui s'ouvre. Lorsqu'il la ferme, je voudrais que ça le renvoie vers une page (le paramètre).
ça fonctionne sans paramètre avec :<script type="text/javascript"> ... document.location.replace("http://www.url1.com"); ... </script>
Et je n'arrive pas à récupérer le paramètre de l'URL (https://www.toto.fr/?url=http%3A%2F%2Fwww.test.fr ) pour rediriger l'internaute vers http://www.test.fr
-
-
Bon alors, j'ai une idée pas propre du tout...
Tu as ça : https://www.toto.fr/?url=http%3A%2F%2Fwww.test.fr on est d'accord ?
Et donc, je pensais faire un split de ce String avec 'url=' comme séparateur. Et tu prends la deuxième valeur du tableau fourni...
Mais c'est pas propre du tout > <-
Eventuellement, je peux avoir ça : https://www.toto.fr/?http://www_test_fr avec ? comme séparateur.
N'y a-t-il pas la possibilité d'obtenir l'inverse de document.location.pathname qui me donne comme résultat l'URL complète sans les paramètres c'est à dire : https://www.toto.fr/
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Avec ce code on y est presque :
<script type="text/javascript"> function parseGetParams() { var $_GET = {}; var params = location.search.substring(1).split('&'); for (var i = 0; i < params.length; ++i) { var param = params[i].split('='); $_GET[param[0]] = param[1]; } return $_GET; } var $_GET = parseGetParams(); alert($_GET['url']); document.location.replace($_GET.url); </script>
Sauf que ça renvoie sur http://www.toto.fr/http://www.test.fr et pas vers http://www.test.fr
(l'url de la page d'origine étant https://www.toto.fr/?url=http://www.test.fr )