Ne pas afficher la page si JS désactivé ?

Fermé
analog101 Messages postés 173 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 février 2020 - 17 juin 2011 à 11:12
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 24 juin 2011 à 13:18
Bonjour,

J'ai une fenêtre qui s'affiche si JS est désactivé:

<noscript>
<div align="center">
Javascipt non activé.
</div>
</noscript>

Mais ma page s'affiche tout de même.

Existe t'il un moyen ( if, .. ) afin de ne pas traiter le reste du code de la page si JS est désactivé ?

merci!

A voir également:

4 réponses

gilbert1995 Messages postés 414 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 30 mai 2013 29
17 juin 2011 à 16:15
<NOSCRIPT><meta http-equiv="refresh" content="1; URL=http://tonsite.fr"></NOSCRIPT>
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
Modifié par Meoran le 18/06/2011 à 13:56
Salut,

j'ai longtemps étudié la question et je peut donc te répondre assez clairement.

Le script de gilbert marche mais il est non validé par le w3c. En effet, celui-ci impose que les balises <meta> se trouve dans la balise <head>, alors que <noscript> doit se trouver dans le <body>. De ce fait, il est impossible de produire un code valide avec ces deux balises entremêlées.

"Existe t'il un moyen ( if, .. ) afin de ne pas traiter le reste du code de la page si JS est désactivé ?"

Ceci aussi est irréalisable car le if s'exécute du côté serveur et la balise <noscript> du côté client ! Il est donc impossible de mélanger les deux (ou plutôt disons inutile...).
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
18 juin 2011 à 16:56
Salut,

Tu peux créer un masque faisant toute la page et au-dessus de tous les éléments (grâce au CSS).
Ce masque (div), qui est affiché par défaut, contient le message.

Et en Javascript, il suffit de le masquer.
Ainsi, si le JS est activé, le calque est caché.
Sinon, il s'affiche.
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 204
Modifié par Meoran le 18/06/2011 à 17:16
Pas bête ^^

Personnellement, j'affiche juste un gros "Javascript est désactivé, veuillez l'activer" en haut de la page. Bien visible pour qu'il fasse un peu chi..., mais que le site soit utilisable quand même (de toute façon normalement ça doit être tellement galère à naviguer sans JS qu'au bout d'un moment, soit ils se barrent soit ils l'activent ^^)
0
analog101 Messages postés 173 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 février 2020 3
24 juin 2011 à 10:08
merci pour l'idée du masque mais les éléments seront tout de même afficher ?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
24 juin 2011 à 13:18
Si le masque n'est pas masqué par le script JS (donc si le navigateur n'a pas activé cette option), alors les autres éléments ne seront pas visible. Cependant, ils le seront dans le code source de la page.
0