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

JavaScript Discussion :

Astuce si javascript désactivé


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut Astuce si javascript désactivé
    Bonjour,

    Je cherchais un moyen de rendre inactif un site web lorsque le client n'a pas javascript d'activé (histoire qu'il ne voit pas quelque chose de moche sur son écran).
    J'ai vu qu'à part l'utilisation des balises <noscript></noscript> il n'y avait pas grand chose à faire.
    (Mais Gmail (google) en ont une bonne pratique)

    Bref, je n'ai pas voulu chercher et par logique j'ai trouvé une manip qui fonctionne bien, bien que pas très orthodoxe. Je la poste ici au cas où je l'oublie.
    Je ne mets pas ça en CODE car la colorisation syntaxique n'est pas la bonne (c'est du html là) :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <body>
    <noscript>
    // phrase pour l'internaute
    Javascript est désactivé. 
    Vous devez l'activer pour profiter de toutes les fonctionnalités du site web.
    Sinon utilisez la version standard en cliquant ici. Merci.
    <-- 
    // Et je démarre une zone de commentaire multiligne qui a pour but de 
    // mettre en commentaire tout le code source situé en dessous 
    // de même que cette fin de balise noscript ci-après...
    // la balise noscript est donc toujours ouverte.
    </noscript>
     
    Contenu code source avec fonctionnalité javascript
    gnagna...
     
    <noscript>
    //et maintenant je ferme ma zone commentaire, le navigateur 
    //trouve donc une balise </noscript> qui clotûre la toute première. 
     
    -->
    </noscript>
     
    </body>
    </html>

    Ouep....malpropre... mais j'ai trouvé ça rapidement, j'ai testé ça en 2sec et ça marche bien peu importe le code que j'utilise au milieu.
    Par contre je pense ça ne fonctionnera plus si on utilise des ouvertures/fermetures de commentaires <!-- et --> au sein du code. Mais comme j'utilise les balises de commentaires smarty...ça roule.

    En tout cas je reste à l'écoute de vos astuces pour prévenir l'utilisateur de la désactivation de javascript et des éventuelles solutions (propres ) de redirections transparentes vers des versions HTML simplifiées.

    Tchaw

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    j'aurais plutôt utiliser une div de 100% de hauteur et de largeur , en position fixed que j'aurais désactivé SI l'utilisateur a javascript d'activé

  3. #3
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    "SI javascript est activé" oui d'accord.
    Cette solution est pas mal mais faudrait la tester sur plusieurs navigateurs.

    Je conserve ma solution jusqu'à ce que ça plante.

    J'attends d'autres solutions ! Merci !

  4. #4
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Ma solution plante sous IE6.
    C'était trop beau de pouvoir annuler l'effet d'une ouverture de commentaire multiligne avec des balises noscript.

    Dommage

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    essaye la mienne ....

  6. #6
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    C'est ce que je suis en train de faire

  7. #7
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Pas efficace car lorsque ma page "du dessous" est grande (scrolling actif), le div "masqueur" en absolute ne peut pas tout masquer puisqu'il se limite à la taille de la fenêtre. Et il faudrait du JAVASCRIPT pour tout masquer :p ... Je cherche...

  8. #8
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Autre solution :

    Puisque tous mes éléments HTML sont dans un div conteneur, j'ai masqué celui-ci par défaut (display:none).
    Lorsque javascript est actif, je passe à display:block le conteneur dans mon script JS qui initialise l'application.

    Opérationnel...

    ...Seulement... j'ai peur du "display:none" par défaut. La pratique est brutale je trouve et je n'aime pas accorder d'importance à JAVASCRIPT. En gros je ne tiens pas à ce que ce soit lui qui affiche ou non le site.

    Je vais encore chercher des solutions.

    A la lecture du code source de gmail, tout est un applicatif initialisé par javascript et on ne peut pas dire que ce ne soit pas performant, mais ce n'est pas le mm intérêt que pour un site web grand public non plus.

  9. #9
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Citation Envoyé par zeojex Voir le message
    Pas efficace car lorsque ma page "du dessous" est grande (scrolling actif), le div "masqueur" en absolute ne peut pas tout masquer puisqu'il se limite à la taille de la fenêtre. Et il faudrait du JAVASCRIPT pour tout masquer :p ... Je cherche...
    Non , pas avec une div faisant 100% de hauteur et en position FIXED ( ajout d'un hack css pour ie )
    lorsque tu scroll, la div reste a la même place et bloque l'accès aux élément qui se trouvent derrières ...

  10. #10
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    Oui ok merci ça fonctionne mais je ne vais pas conserver la méthode.
    Non pas parce que je n'utilise plus les hacks css (j'utilisais les hacks entre IE et mozilla mais j'essaye d'éviter depuis qlq temps, question de tranquillité d'esprit) mais parce que du code est exécuté par le navigateur alors qu'il ne sera pas utilisé lorsque javascript est désactivé. Le principe du masquage est de la bidouille evidement, si je peux éviter tant mieux...
    Je ne souhaite pas qu'il y ai de traitements inutiles donc.

    Je vais chercher encore un peu et je me résignerai si rien y fait.

    Merci encore

Discussions similaires

  1. Changer propriété css si javascript désactivé
    Par christ8phe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2011, 11h57
  2. [javascript]désactiver un bouton au bout de n click
    Par ranell dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/02/2010, 16h41
  3. [JaVaScRiPt]Désactivation de la croix pour fermer
    Par zybay dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/05/2007, 16h42
  4. JSF avec du Javascript désactivé
    Par clincks dans le forum JSF
    Réponses: 2
    Dernier message: 03/04/2007, 19h32
  5. [PHP-JS] PHP & Javascript désactivé
    Par creatchy dans le forum Langage
    Réponses: 14
    Dernier message: 30/11/2006, 09h10

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