• User Attivo

    Rilevare se il client avesse JavaScript abilitato con PHP

    Salve a tutti,
    navigando ho trovato una funzione isset($_GET['js']) che dovrebbe permettere di rilevare se il browser del client avesse JavaScript abilitato. Poiché non conoscevo cosa riportasse avevo scritto in un file PHP questo script:

    [php]
    <?php
    if (isset($_GET['js'])) ?>
    ramo true;
    <?php else ?>ramo false;
    [/php]Eseguendolo ho riscontrato, sia con JavaScript abilitato che disabilitato, sempre lo stesso responso (anche forzando il refresh), del ramo false. Ho provato sia con Firefox che con Opera che IE 6 ed ho notato che sempre ancora seguiva il ramo false.

    Volevo cortesemente chiedere maggiori informazioni sulla funzione e/o se ci fosse un modo alternativo per rilevare se JavaScript fosse abilitato, grazie.


  • User

    Quella che controlli è se una ipotetica variabile "js" viene spedita tramite url, in tal caso visualizzi il ramo true e non se javascript è abilitato.

    Per confermare ciò che dico ti basterà aggiungere alla fine dell'url questo:

    ?js=settato
    

    e digitare invio.

    Sinceramente non so se è possibile rilevare questa impostazione via php, anche se personalmente dubito che il browser invii certe informazioni al server web.

    In ogni caso puoi risolvere utilizzando il tag <noscript> in html dove puoi includere un bel link di redirect ad una pagina alternativa in caso di mancata esecuzione di uno script :ciauz:


  • User Attivo

    Grazie per le informazioni. Stavo cercando di realizzare una pagina che facesse una redirezione verso la home page se JavaScript fosse disabilitato o verso un'altra pagina specifica altrimenti.
    Ho provato con una pagina di questo tipo:

    [html]
    <html>
    <body>

    <noscript>
    <meta http-equiv="Refresh" url=htt p://dominio/">
    </noscript>

    <meta http-equiv="Refresh" url=htt p://dominio/per_contattarci.htm">

    </body>
    </html>
    [/html]ma non funziona. :mmm:


  • User

    Ovvio, i metatag non funzionano se messi al di fuori dell'headering della pagina.

    Devi provare una cosa del genere:

    <html>
    <body>
    
    <script>alert('js attivo');</script>
    
    <noscript>
    Non hai javascript abilitato, abilitalo o vai <a href="htt p://dominio/">QUI</a>
    </noscript>
    
    </body>
    </html>
    

    Se hai javascript abilitato vedi l'alert box, altrimenti il messaggio col link.

    Prova e fammi sapere :ciauz:


  • User Attivo

    Ho provato: funziona! 🙂
    Ti ringrazio per i consigli. :ciauz: