- Home
- Categorie
- Coding e Sistemistica
- PHP
- Rilevare se il client avesse JavaScript abilitato con PHP
-
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.
-
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
-
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.
-
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
-
Ho provato: funziona!
Ti ringrazio per i consigli.