IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Détecter l'activation de Javascript avec des JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Points : 60
    Points
    60
    Par défaut Détecter l'activation de Javascript avec des JSP
    Bonjour,

    j'utilise des JSF et en l'occurence l' implémentation libre Myfaces (version 1.1.0) qui propose de nombreux composants JSF tout prêts s'appuyant fortement sur du javascript.
    Evidemment, il y a des problemes dans le cas ou javascript est inactivé ou non supporté par un navigateur. Je souhaiterais dans ces cas pouvoir le détecter et presenter un message du genre : "Votre navigateur ne supporte pas le javascript ou celui-ci n'est pas activé..."

    Je n'ai trouvé aucune variable d'entête Http (du genre "user-agent"...) mentionnant l'activation ou l'inactivation du javascript. Certains mentionnent une clé d'entéte http s'appellant JavaScriptEnabled mais il n'y a rien a faire, celle-ci ne figure pas dans mon request.getHeaderNames(). A L'AIDE !!!

    Je vous remercie d'avance.
    (Longue vie à developpez.com)

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    JavaScript n'a rien à voir avec HTTP...

    Ce que je te propose est 100% compatible avec tout (ou presque ). Pour cela, il faut que le "premier" JSP de ton application soit un JSP de détection qui, si le client supporte le JavaScript, fait une redirection sur le vrai premier JSP de ton appli, ou affiche un message d'erreur si le client ne supporte pas le JavaScript. Sur le premier JSP, tu fais la détection de JavaScript comme cela :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
    <body>
    <script type="text/javascript">
    <!--
    window.location = "mon_vrai_premier_JSP.jsp";
    // -->
    </script>
    <noscript>
    Votre navigateur ne supporte pas le javascript ou celui-ci n'est pas activé
    </noscript>
    </body>
    Bien entendu, si tu en as la possiblité (je ne connais pas JSF, donc je ne peux pas dire, mais j'ai de sérieux doutes), tu peux mettre le <noscript>...</noscript> dans tous tes JSP.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre actif
    Avatar de jak0
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 272
    Points : 219
    Points
    219
    Par défaut
    Il a tout a fait raison, après au pire, si cela n'est pas possible, ce qui m'etonnerai quand même, tu peut faire une petite gymnastique du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html>
      <body onload="document.getElementById('okJava').value = '1';">
        <input type="hidden" name="isOkJavascript" id="okJava" value="0" />
      </body>
    </html>
    Après en submittant ca dans un formulaire (comme par exemple de login), tu peut savoir si c'est bon ou pas...

    Ou sinon ta aussi quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <hmtl>
      <body onload="window.loaction='index2.jsp';">
        Vous ne pouvez accéder à la page de login sans activer le Javascript.
      </body>
    </html>
    Mais la meilleure solution reste quand même celle de _Mac_
    A++
    Goah Sha Kree

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Points : 60
    Points
    60
    Par défaut Détection javascript
    Merci pour votre spontanéité. Je teste ça au plus vite et je vous tiens au courant.
    encore merci.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Points : 60
    Points
    60
    Par défaut
    Tout est Ok! et cela marche à merveille.
    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler du JavaScript avec des AutoGenerateButtons
    Par Johann7751 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/01/2011, 15h54
  2. Utilisation de Javascript avec des composants icefaces
    Par La Piotte dans le forum NetBeans
    Réponses: 0
    Dernier message: 17/04/2009, 11h57
  3. Réponses: 2
    Dernier message: 17/11/2008, 06h26
  4. Javascript avec des menus deroulant html
    Par thibault31590 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/11/2006, 14h48
  5. Réponses: 1
    Dernier message: 26/06/2006, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo