/ / Comment rediriger si javaScript est désactivé? - javascript, redirection

Comment rediriger si javaScript est désactivé? - javascript, redirection

J'ai un site qui s'appuie fortement sur JavaScript. J'ai créé un site miroir, qui contient tous les fichiers JS, ainsi que tous les éléments nécessitant la suppression de JS. Quel est un bon moyen simple de rediriger les utilisateurs vers le site miroir s’ils ne disposent pas de javaScript activé?

J’ai essayé ça, mais ça ne me semble pas très bon:

<noscript>
<meta http-equiv="refresh" content="0; URL=nojs/index.php">
</noscript>

J'ai également essayé de mettre header-redirect dans la balise noscript, mais cela n’a pas fonctionné.

Réponses:

21 pour la réponse № 1

Faites de la version sans JavaScript du site la valeur par défaut. Inclure un petit script ici pour rediriger vers le site scripté.

Ou alors, abandonnez entièrement l’utilisation d’une redirection et optez pour Amélioration progressive


75 pour la réponse № 2
<noscript>
<p>This site is best viewed with Javascript. If you are unable to turn on Javascript, please use this <a href="http://sitewithoutjavascript.com">site</a>.</p>
</noscript>

Certaines personnes désactivent volontairement le Javascript et vous pouvez leur donner l'occasion de l'activer avant de le rediriger.


44 pour la réponse № 3

Utilisez ce code que je suis venu avec:

<noscript>
<style>html{display:none;}</style>
<meta http-equiv="refresh" content="0.0;url=nojs/index.php">
</noscript>

Il utilise le style pour bloquer les éléments de la page, puisles gens ne remarqueront rien avant les redirections. La seule chose qui m'agace, c'est que je veux quelque chose de mieux que la méta-actualisation, car celle-ci peut être bloquée sur certains navigateurs comme IE. Un en-tête PHP n'est pas vraiment une solution à part. le mettre dans un noscript tag comme il va simplement l'ignorer et l'écrire tout de suite.


15 pour la réponse № 4

Quelle est votre définition de "pas très bon"?

Tous mes sites utilisent:

<noscript>
<meta http-equiv="refresh" content="0; url=http://www.sadtrombone.com/" />
</noscript>

6 pour la réponse № 5

Je ne ferais pas de redirection côté client, car cela pourrait sembler gênant pour l’utilisateur. Au lieu de cela, j’utiliserais <noscript> pour afficher le contenu de ce site JS-less sur la même page. Ce sera peut-être plus de travail, mais ce serait certainement une expérience plus douce.


2 pour la réponse № 6

J'ai proposé une meilleure solution que de devoir rediriger l'utilisateur car la méta-actualisation peut être désactivée dans IE.

Mettez ceci dans la tête:

<style>div#body{display:none;}</style>

Mettez ceci dans le CORPS:

<noscript>NO JAVASCRIPT CONTENT HERE</noscript>

<noscript><div id="body"></noscript>JAVASCRIPT CONTENT HERE<noscript></div></noscript>

De cette façon, les tags sont là où ils sont censés être.