Detecter si JAVASCRIPT activé mais avec PHP !

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par webjfr, 11 Juillet 2006.

  1. webjfr
    webjfr Nouveau WRInaute
    Inscrit:
    10 Juillet 2006
    Messages:
    12
    J'aime reçus:
    0
    Bonjour,

    Je pense que la question à surement du être poser, mais bon, avec le système de recherche du site : 1750 réponses, et c'est vrai : detecter, javascript et php, c'est surement dans les mots les plus utilisés dans les posts !

    Enfin voila, j'ai un problème, actuellement, je reconstruis mon site, et j'ai du boulot.

    Quand sur une page, j'ai plusieurs parties, j'utilise un menu en javascript, et chaque lien va rendre la partie visible de la page.

    Mon problème, si javascript est désactivé, il est impossible de voir ces parties du site.

    Ce que je cherche donc, ca serait une fonction PHP pour détecter si javascript est activé ou pas.
    En faites, je veux éviter le <noscript>.

    Si vous avez une idée, vous êtes les bienvenues.

    En rédigeant, j'ai pensé à une idée, mais sa va faire "dégueulasse" mais je vais tester au cas ou.
     
  2. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    PHP est exécuté sur ton serveur... Javascript est intermrété par le navigateur du visiteur...

    Donc tu es obligé de passer par du Javascript et de recharger la page pour un test correct.
     
  3. Tilt
    Tilt WRInaute impliqué
    Inscrit:
    26 Mars 2005
    Messages:
    752
    J'aime reçus:
    0
    si des parties de ta page sont invisibles et que tu les rends visibles par une fonction javascript, il y a une solution:
    au chargement de la page, toutes les parties de ta page doivent être visibles, et tu lances un js pour les cacher.
    comme ça, si js n'est pas activé, tout reste affiché.
    c'est ce que j'ai fait pour le menu gauche de mon www .
    ;)
     
  4. Dmx
    Dmx WRInaute discret
    Inscrit:
    7 Avril 2004
    Messages:
    210
    J'aime reçus:
    0
    ca revient un peu au meme que le noscript en + compliqué !

    Pourquoi ne pas vouloir l'utiliser ? Il sert à ça non ?
     
  5. webjfr
    webjfr Nouveau WRInaute
    Inscrit:
    10 Juillet 2006
    Messages:
    12
    J'aime reçus:
    0
    C'est simple, en faites, c'est un menu verticial, et chaque partie de la page est limitée par des :
    Code:
    echo '<span id="section_1" style="display: block">';
    
    Donc si je veux quelques chose de "propre" (je sais que mon site est pire que dégueulasse, alors j'essai d'arranger un peu), je peux pas laisser ça.

    Bon, j'ai opté pour cette solution, en dessous de mon </script>
    J'ajoute un <noscript> :
    Code:
    if (isset($_GET["verif"])) 
    { 
    	$verif=$_GET["verif"];
    }
    
    if (!($verif==no))
    {
    echo '<noscript><meta http-equiv="refresh" content="0;url=./page.php?js=no" /> </noscript>';
    }
    
    et toutes les span, je les balance aussi en (!($verif))

    Ce que me permet, en cas de refus de javascript, d'avoir toute la page d'afficher, et dans le cas inverse, d'avoir mon menu.

    Sinon, pourquoi cette solution et pas le cookie :
    Le cookie peut etre refuser

    Pourquoi pas la solution du phpsession()
    ->> bah AOL:// !

    Donc voila, si vous avez d'autres idée.
     
  6. Zim'
    Zim' WRInaute impliqué
    Inscrit:
    27 Avril 2006
    Messages:
    599
    J'aime reçus:
    0
    <ouverture balise js>
    <!--
    et ici tu appel une page page.php avec un code javascript
    //-->
    <fermeture balise js>

    page.php est une page qui implémente un cookie chez le client pour dire "javascript accepté par le nav du client"

    c'est un peu barbar, mais c'est la seul maniere qui me passe par la tete la comme ça d'un coup.

    edit: suis fatigay, j'avais pas lu le topic en entier :oops:
     
  7. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    et pourquoi ne fais tu pas un menu vertical en css plutot qu'en js ??
     
  8. f_trt
    f_trt WRInaute impliqué
    Inscrit:
    17 Septembre 2005
    Messages:
    955
    J'aime reçus:
    0
    Alors oui Zim donne une bonne piste,
    si tu as une page tunnel (pas good pour le ref) a la place du cookie de Zim
    tu memorises ce qui te permet de reconnaître l'internaute à savoir son adresse IP + identification systex et navigateur (pour essayer de différencier un max ceux qui passent par un proxy)
    Ceux que tu arrives a identifier seront ceux qui ont le javascript activé car les autres n'auront pas eu l'appel de la page php via javascript comme le préconise Zim.

    En recap:
    Dans la page tunnel l'appel de via javascript de la page meminternaute.php
    Dans meminternaute.php tu memorises IP + SYSTEX + NAVIGATEUR
    En début de toutes tes autres pages tu testes si c'est un internaute connu si oui alors javascript si non ...

    En fait page tunnel ou pas tunnel tu fais cet appel a la page memo dans toutes tes pages au cas ou l'internaute arrive directement à l'interieur du site et par defaut tu présentes bien une version non javascript

    A+
     
  9. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
  10. f_trt
    f_trt WRInaute impliqué
    Inscrit:
    17 Septembre 2005
    Messages:
    955
    J'aime reçus:
    0
    Tu as doublement raison E-Kiwi d'autant que l'extension NoScript pour FireFox doit faire pas mal d'adepte.

    Merci pour ton lien.
    A+
     
  11. webjfr
    webjfr Nouveau WRInaute
    Inscrit:
    10 Juillet 2006
    Messages:
    12
    J'aime reçus:
    0
    Code:
    Dans meminternaute.php tu memorises IP + SYSTEX + NAVIGATEUR 
    
    Mon problème réside dans 2 lettres que tu utilises : IP
    Et si tu prends ces 2 lettres, que tu les ajoutes à 3 autres lettres que tu cites pas : AOL
    Je pense que tu commences à comprendre, le navigateur aol qui spoff les ips à chaques pages.
    Si tu ajoutes à ca que les mails aol ne sont pas acceptés sur mon site, que le système d'identification refuse aussi le navigateur aol (enregistrement de l'ip lors de la connexion), je peux pas leurs interdire tout le site

    Les menus vertical ne sont pas ce que je recherche, puisque c'est pour un contenu de page, et je dispose de 580 pixels, donc si je dois sacrifier 150 pixels pour un menu, ca fera ridicule (mon site s'affiche sur 1000 pixels, et pas 1024 à cause de la scrollbar de mozilla)

    Donc il me faut un menu horizontale, et autres problème, j'ai 65% de mes visiteurs sous IE, donc, le css, je regarde la compatibilité avec IE.
    Et juste pour info, j'ai eut depuis de debut du mois 1,2% de visiteurs sous MAC et 0.8% visiteurs sous linux.

    Pour ceux qui est d'enregistré dans un cookie, comme j'ai dit, si les gens refusent les cookies, bah ca passera pas.

    En faites, je cherche vraiment un systeme qui peut passer dans tous les cas, c'est ma roue de secours en sorte.
     
  12. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
  13. webjfr
    webjfr Nouveau WRInaute
    Inscrit:
    10 Juillet 2006
    Messages:
    12
    J'aime reçus:
    0
    Je quote :
    sans modifier quoi que ce soit ?
    C'est pas ce que je recherche, surtout qu'il y a trop de probleme avec les CSS, comme par exemple, quand on post une image, tu dois utiliser la GD pour calculer la taille de l'image, puis ensuite, lui imposer un width /height pour ne pas dépasser la taille de ton <div> sinon ca va empecher de rendre visible la partie droite de ton site.
    Donc, c'est utiliser beaucoup plus de ressource serveur qu'un simple tableau.
    Ce que je reproche au CSS, et son manque de flexibilité si tu veux pas utiliser une tonne de ressource, d'ailleurs, certains, n'hesitent pas à dire, que si tu fais un site assez complexe, le css peut vite se transformer en usine à gaz, et pas qu'à cause du CSS en lui meme, mais de toute les vérification que tu vas devoir faire en php/asp si tu veux pas avoir de chose bizarre.

    Personnellement, pour donner un visiuel CSS, j'utilise des tableaux pour éviter de devoir tout controler via php (pour éviter de trop consommer de ressource) et ce principe, ne passe pas au validator.
     
  14. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 198
    J'aime reçus:
    1
    ouh la, je vois pas le lien entre des images postées trop grosses et le fait d utiliser les divs par rapport aux tableaux.

    déjà là on parle de menu, pas de template de site, ensuite, comme tout, il a des facons plus ou moins barbares de creer le template, et au final, ca passera soit dans 100% des cas si c est bien étudié, soit sur un seul navigateur si c est mal fait.

    ensuite qd tu parles d uzines à gaz, entre une page optimisé qui fait 10ko et les belles vieilles pages comme on voit avant qui font 100ko (pour le mem rendu final) on voit vite ou se trouve l otpimisation. il faut penser aux visiteurs autant qu'au serveur.

    pour en revenir à l'image trop grande, ca se controle pdt l upload de l image (donc une fois) pas à chaque affichage de l'image dans le site. bref, il faut juste se perfectionner en css pour en voir la véritable utilité

    Oui un site 100% css / divs peut passer dans 100% des navigateurs, et peut etre lu plus facilement par les robots de recherche, avec des pages plus legeres pour le visiteur, et pas plus lourde pour le serveur
     
  15. f_trt
    f_trt WRInaute impliqué
    Inscrit:
    17 Septembre 2005
    Messages:
    955
    J'aime reçus:
    0
    +1

    Pour WebJfr je dirais même que c'est le vrai vrai gros plus du CSS c'est que tes données seront lues par absolument tout ce qui existe y compris les robots et sof des mal voyant etc... puisque dans tes pages tu n'as plus que du contenu mais là on n'est plus dans ton problème de départ mais dans le combat que l'on retrouve souvent CSS contre TABLE et je pense que bon nombre de Webmaster moderne n'en sont plus là.

    Et j'ajouterai que ton javascript non plus il sera pas sur toutes les plateformes...

    A+
     
  16. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Ouh la, je ne sais pas qui t'as dit ça mais je ne vois pas en quoi tu vas devoir faire plein de tests. Le site de mon www, pas valide w3c encore certes, est fait quasi qu'en CSS et j'ai pas eut besoin de faire des dizaines de tests. Par rapport à ma version html avec des tableaux je gagne en terme de Ko, de lisibilité (des non voyants naviguent sur mon site sans problème), ...
    Et si je veux changer un truc (genre couleur des liens) j'ai un fichier à toucher...

    Et le site est compatible IE, Firefox, Konqueror, Opera, ... Windows, Mac ou Linux.
     
  17. smocrate
    smocrate Nouveau WRInaute
    Inscrit:
    6 Novembre 2006
    Messages:
    2
    J'aime reçus:
    0
    J'ai un solution pour vous :)

    Code:
    <?php
    session_start();
    
    if(!isset($_SESSION['js'])) $_SESSION['js'] = true;
    if(isset($_GET['js']))
    {
    	if($_GET['js'] == "no" ) $_SESSION['js'] = false;
    	else if($_GET['js'] == "yes") $_SESSION['js'] = true;
    }
    
    // si javascript est activé
    if($_SESSION['js'])
    {
    	// on test si il est vraiment activer
    echo '
    <noscript>
    	<meta http-equiv="Refresh" content="0; URL=index.php?js=no&file='.$file.'">
    </noscript>
    ';
    }
    else // S'il est pas activé
    {
    	// on test s'il est vraiment pas activé
    echo '
    <script language="JavaScript" type="text/javascript">
    	document.location.href="index.php?js=yes&file='.$file.'";
    </script>
    ';
    }
    
    ?>
    
     
  18. Bakazero
    Bakazero Nouveau WRInaute
    Inscrit:
    17 Août 2009
    Messages:
    1
    J'aime reçus:
    0
Chargement...
Similar Threads - Detecter JAVASCRIPT activé Forum Date
Détecter le Javascript peut-il nuire au référencement ? Problèmes de référencement spécifiques à vos sites 10 Janvier 2013
Javascript : détecter mot clés Google et exécuter un script Développement d'un site Web ou d'une appli mobile 16 Juillet 2011
Détecter facilement les erreurs javascript génériques Développement d'un site Web ou d'une appli mobile 10 Octobre 2007
Javascript detecter touche entrée Développement d'un site Web ou d'une appli mobile 23 Mai 2007
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
[PHP] Détecter le navigateur / bot en fonction du HTTP_USER_AGENT Développement d'un site Web ou d'une appli mobile 14 Septembre 2019
Astuce Détecter un bot qui fausse vos stats Google Analytics 1 Mars 2019
Comment détecter des noms de domaines pourris dans les mails ? Problèmes de référencement spécifiques à vos sites 30 Mai 2018
Outil pour détecter le contenu dupliqué Débuter en référencement 1 Août 2017
Détecter le premier slash URL Rewriting et .htaccess 5 Juillet 2017
[PHP] Détecter le navigateur / bot en fonction du HTTP_USER_AGENT Développement d'un site Web ou d'une appli mobile 12 Janvier 2017
Comment détecter les sites satellites Netlinking, backlinks, liens et redirections 5 Avril 2016
script qui détecterait quand l'internaute se connecte avec un telephone et le rediregeré Développement d'un site Web ou d'une appli mobile 5 Juin 2015
Pourquoi analytics pourrait avoir de la difficulté à détecter l'acquisition d'un site? Google Analytics 3 Juillet 2014
[Idée ?] Détecter la présence de cookies Développement d'un site Web ou d'une appli mobile 5 Décembre 2013
Détecter les articles à faible contenu Wordpress ! Développement d'un site Web ou d'une appli mobile 30 Avril 2013
détecter la position sur Google Débuter en référencement 28 Février 2013
Commente détecter les copieurs ? Administration d'un site Web 22 Octobre 2012
Quel outil pour détecter le duplicate content? Référencement Google 13 Mai 2012
Achat de lien ? Partenariat croisé ? Comment Google peut le détecter ? Netlinking, backlinks, liens et redirections 16 Avril 2012