Page de redirection pour le js

Fermé
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - Modifié par Kopros le 28/11/2012 à 18:21
aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 - 29 nov. 2012 à 02:42
Salut à tous,

J'ai un site qui est très beau si le js est activé.
Par contre, sans js y'a rien qui s'affiche.

Je voudrais faire une page index qui serait très légère à charger, dont le seul but serait de rediriger vers une page A si le js est activé, ou vers une page B si pas de js.

Alors je sais faire une redirection en js, mais c'est dans le cas où il n'est pas activé, comment rediriger vers une autre page ?

Y'a bien une meta du genre <meta http-equiv="refresh" content="1;URL=pageB.php"/> mais il faut laisser du temps pour que le js puisse renvoyer vers la page A (dans cet exemple j'ai mis 1 sec) et si jamais le js s'exécute au bout de plus de 1 seconde on est redirigé vers la page B au lieu de A.

Une solution serait de faire ça :
<noscript><meta http-equiv="refresh" content="0;URL=pageB.php"/></noscript>


mais perso je trouve que ça fait un code dégueulasse de mettre du noscript pour une meta. Et je suis même pas sûr de son bon fonctionnement sur tous les navigateurs.

Existe-t-il une alternative ?


1 réponse

aomann Messages postés 51 Date d'inscription lundi 26 novembre 2012 Statut Membre Dernière intervention 4 décembre 2012 2
Modifié par aomann le 29/11/2012 à 02:43
Salut,

Il ne semble pas avoir d'alternative.

Le navigateur n'envoie pas dans le header de la requête HTTP, s'il y a Javascript ou pas. On ne peut donc pas le rediriger avec PHP ou ASP

Une possibilité serait d'envoyer tout le monde sur le site sans JS et d'ensuite rediriger les gens vers le site avec JS avec une fonction JS. Mais je ne pense vraiment pas que c'est mieux.

L'autre option serait la suivante:
<noscript> 
  <style>html{display:none;}</style> 
  <meta http-equiv="refresh" content="0.0;url=nojs/index.php"> 
</noscript>


Elle me semble tout de même intéressante puisqu'elle empêche d'apercevoir la page pendant une fraction de seconde. Malheureusement il faut utiliser <noscript> dans le head.

https://stackoverflow.com/questions/2489376/how-to-redirect-if-javascript-is-disabled
0