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 actif
    Inscrit en
    Février 2009
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 626
    Points : 237
    Points
    237
    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 éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    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 actif
    Inscrit en
    Février 2009
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 626
    Points : 237
    Points
    237
    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 éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

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

  5. #5
    Membre actif
    Inscrit en
    Février 2009
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 626
    Points : 237
    Points
    237
    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 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    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 actif
    Inscrit en
    Février 2009
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 626
    Points : 237
    Points
    237
    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 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 793
    Points : 3 064
    Points
    3 064
    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 éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    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 actif
    Inscrit en
    Février 2009
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 626
    Points : 237
    Points
    237
    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 éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    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
    17 769
    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 : 17 769
    Points : 43 954
    Points
    43 954
    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.

  13. #13
    Membre actif
    Inscrit en
    Février 2009
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 626
    Points : 237
    Points
    237
    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, 13h10
  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, 10h34
  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, 13h31
  4. javascript activé
    Par steeve1980 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2005, 16h24
  5. [Javascript] Javascript active dans navigateur
    Par nico33307 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/08/2005, 14h31

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