Test Refus javascript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Test Refus javascript

par zeus » 29 mai 2006, 17:03

C'est comme le CSS, les puristes seront contre les "astuces" permettant l'interpretation IE et autres.

Mais entre les remarques des puristes et une page qui fonctionne ... j'ai choisi ;)

par albat » 29 mai 2006, 16:37

<script type="txt/javascript">
//...
</script>
<noscript>
  <meta http-equiv="Refresh" content="0; URL=page_erreur_javascript.html"> 
</noscript>
Grrr...
J'hésitais à proposer cette méthode que j'utilise également,
car j'étais assez surpris par le location.href dans un <noscript>.
Ma perplexité a inhibé ma contribution. :?

Une petite précision tout de même :
les puristes n'apprécieront guère cette astuce
car le <noscript> se place généralement dans le <body> de la page
tandis que les balises <meta> doivent être placés dans le <head>.

Mais bon, tant que ça marche... ;)

par zeus » 29 mai 2006, 16:19

Mais de rien ;)

J'espère que ça conviendra également à fabio

par Hubert Roksor » 29 mai 2006, 16:10

Ah ouais tiens, c'est vrai que comme ça c'est pas mal :) Ça permet de déterminer l'état du javascript à la première page et de façon "active" sans avoir besoin d'une action de l'utilisateur. Je la replacerai, merci du tuyau ;)

par zeus » 29 mai 2006, 16:07

Excuse moi Hubert, j'ai pas réflechi

c'est pas location.href, c'est une balise meta de redirection

Code : Tout sélectionner

<script type="txt/javascript"></script> <noscript> <meta http-equiv="Refresh" content="0; URL=page_erreur_javascript.html"> </noscript>

par Hubert Roksor » 29 mai 2006, 15:59

Err.. "location.href" fonctionne dans <noscript> ? c'est assez illogique, mais si ça marche pourquoi pas. Dans le même genre on pourrait imaginer quelque chose comme ça

Code : Tout sélectionner

<form action="page_erreur.html" onSubmit="this.action='page_ok.php'">

par zeus » 29 mai 2006, 15:43

L'astuce que j'utilise souvent :
Dans la page de connexion, je place ce script

Code : Tout sélectionner

<script type="txt/javascript"></script> <noscript> location.href="page_erreur_javascript.html"; </noscript>
Donc si le visiteur dipose de JS activé, il aura la page de connexion, sinon il sera redirigé vers une page lui indiquant qu'il doit activer JS ;)

par Hubert Roksor » 29 mai 2006, 15:12

C'est impossible. HTML possède la balise <noscript> mais c'est tout. Ce que tu peux faire, c'est utiliser du javascript pour créer un cookie qui dirait "javascript=1". Si ce cookie n'est pas présent tu peux penser que l'utilisateur refuse le Javascript...

Test Refus javascript

par fabio86 » 29 mai 2006, 14:49

Comment fait on pour tester en php si le client refuse le javascript??

Merci d'avance