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

Langage PHP Discussion :

Détecter si Javascript est activé sans passer par $_GET ni Ajax


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 636
    Par défaut Détecter si Javascript est activé sans passer par $_GET ni Ajax
    Bonjour,

    Connaissez-vous un moyen simple de détecter en php, si javascript est activé, sans passer par GET ni Ajax. Le code ci-dessous ne semble pas fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php $js = true; ?>
    <noscript><?php echo $js = false; ?></noscript>
    <?php echo $js; ?>


    Par avance merci pour votre aide,

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 703
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 703
    Par défaut
    le code php génère le code html envoyé au client, regarde le schéma ici :
    https://dmouronval.developpez.com/tu...-requete-ajax/

    donc vous ne pouvez pas détecter si javascript est activé avant que le code soit envoyé au navigateur. quel différence souhaitez vous faire si javascript n'est pas disponible ?

  3. #3
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 636
    Par défaut
    Citation Envoyé par mathieu Voir le message
    quel différence souhaitez vous faire si javascript n'est pas disponible ?
    C'est juste un paramètre dont j'ai besoin sans avoir à l'afficher en permanence dans l'url...

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 703
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 703
    Par défaut
    si vous ne nous expliquez pas ce que vous voulez faire, on pourra difficilement vous conseiller.

  5. #5
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 636
    Par défaut
    Comme expliqué, c'est un paramètre dont j'ai besoin pour du traitement sans avoir à l'afficher en permanence dans l'url...

    C'est assez bizard, mais j'ai toujours pensé que les sessions étaient indépendantes de Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <?php if (!isset($_SESSION["js"])) { ?>
     <noscript><meta http-equiv="refresh" content="0, URL=redirect.php?js=0"></noscript>
     <?php } echo isset($_SESSION["js"]); ?>
    Dans le fichier redirect.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_GET["js"])) {
        $_SESSION["js"] = $_GET;
        header('Location: http://localhost/test/'); # Tourne en boucle !!! | Testé sur Chrome avec Javascript désactivé...
    }
    Où il y a un truc que je ne comprends pas...

  6. #6
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut Cas rarissime au possible non ?
    Salut

    Je fais du Web depuis... je n'ai pas assez de doigts pour compter... Mains et pieds compris.

    Je n'ai jamais rencontré une situation où js est désactivé.

    Ton développement, c'est pour un navigateur "normal" ou des lecteurs tels que appareils pour personnes ayant une quelconque difficulté visuelle ? Et encore... Javascript est tellement répandu et indispensable qu'il serait étonnant que des appareils ne le supportent pas.

  7. #7
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 636
    Par défaut
    J'ai parfois l'impression qu'il faut obligatoirement se justifier dans ce monde de brutes ! lol !

  8. #8
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Ah non non, ce n'était pas le but, juste une curiosité de ma part et l'impression que tu vas programmer un truc qui ne servira jamais. Si c'est pour le fun, c'est cool ! Si c'est une prise de tête, c'est probablement inutile.

  9. #9
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 358
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 358
    Billets dans le blog
    17
    Par défaut
    C'est assez bizard, mais j'ai toujours pensé que les sessions étaient indépendantes de Javascript
    Elles le sont. Elles passent par les cookies.

    Citation Envoyé par dominos Voir le message
    J'ai parfois l'impression qu'il faut obligatoirement se justifier dans ce monde de brutes ! lol !
    Pas se justifier, mais expliquer le besoin réel au risque d'un XY

  10. #10
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 636
    Par défaut
    Citation Envoyé par Séb
    expliquer le besoin réel au risque d'un XY
    Quand ce n'est pas nécessaire, ça évite que la discussion parte dans tous les sens inutilement.

    Citation Envoyé par Séb
    Elles le sont. Elles passent par les cookies.
    Donc, même si les cookies sont activés dans le navigateur mais que Javascript ne l'est pas, les sessions ne fonctionnent pas ?
    Si j'ai bien compris, les cookies comme les sessions dépendent de l'activation de Javascript ? ...

  11. #11
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 358
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 358
    Billets dans le blog
    17
    Par défaut
    Donc, même si les cookies sont activés dans le navigateur mais que Javascript ne l'est pas, les sessions ne fonctionnent pas ?
    Ce n'est pas ce que je dis Les sessions PHP n'utilisent pas JS, jamais.

    Par défaut les sessions PHP passent par les cookies, mais si on reparamètre les sessions PHP (session.use_trans_sid) elle peuvent même fonctionner sans cookie, auquel cas l'ID session transitera via <a> et <input>.

  12. #12
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 391
    Par défaut
    Je n'ai jamais rencontré une situation où js est désactivé.
    utilisation d'extension type noscript par exemple, les extensions types adblock mal réglés peuvent aussi déclencher le prob.
    Il est toujours possible de désactiver JavaScript dans les navigateurs, mais faut le vouloir.

    La plupart des gros sites gèrent toujours l'absence de JavaScript, bien que sur le principe, si javascript est désactivé, aucun site ne marche.

    Mais pour ça, ça ne se fera pas au niveau PHP, l'idée étant de faire en HTML un message d'erreur dans une balise DIV, et en en-tête un code JavaScript qui va supprimer. Rien n'empêche que ce code HTML/Javascript soit envoyé au navigateur depuis une page PHP, mais ça ne sera pas du code PHP, l'éventuel code JS envoyé depuis PHP, c'est de al donnée au niveau PHP.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  13. #13
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    636
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 636
    Par défaut
    La récupération de ce paramètre dès le chargement de la page est essentiel. Celui-ci peut être utilisé à de nombreuses fins : présentation, référencement, filtrage des robots, etc. Par exemple, lorsqu'un robot de référencement ne peut accéder à certaines rubriques, parce qu'elles dépendent d'un menu bootstrap, l'accès à un paramètre indiquant si JS est désactivé permet résoudre plus facilement ces problèmes.

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

Discussions similaires

  1. Détection Javascript activé OUI/NON
    Par Lux interior dans le forum XMLRAD
    Réponses: 3
    Dernier message: 01/10/2009, 14h10
  2. [CSS/JAVASCRIPT]Activé désactivé la couleur d'un th
    Par murrigane dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 11h34
  3. [PHP-JS] Php et Javascript, ph avec _GET ou _POST
    Par mouzaia dans le forum Langage
    Réponses: 3
    Dernier message: 15/01/2006, 14h31
  4. javascript activé
    Par steeve1980 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2005, 17h24
  5. [Javascript] Javascript active dans navigateur
    Par nico33307 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/08/2005, 15h31

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