2010-01-19 18 views
8

Come verificare se l'utente ha disabilitato javascript nel suo browser? Ad esempio: il sito StackOverflow mostra un avvertimento rosso div in alto se disabiliti il ​​javascript in firefox? Come ottenere questo?Come verificare se javascript è disabilitato?

Un'altra cosa che ho notato: se disabiliti i cookie, StackOverflow non funziona. Non ti permetterà di accedere quando fai clic sul pulsante di accesso. In realtà, questo è quello che presumo con il mio sito web, i dati di accesso/sessione dell'utente dipendono dai cookie, dal layout dell'interfaccia utente ecc. Dipende da javascript.

Qui non voglio discutere del principio di progettazione (miglioramento progressivo ecc.), Qualcuno potrebbe dirmi un buon modo per verificare se i cookie, javascript sono abilitati o no? Penso che debba essere fatto dal lato server, giusto?

Grazie

risposta

18

aggiungere un tag <noscript> alla pagina, e se JavaScript è disabilitato, il messaggio mostrerà all'utente.

È inoltre possibile rilevare se è abilitato JavaScript in base al successo di eseguire codice JavaScript

  • aggiungere un campo nascosto e impostare il valore di default per false
  • Run qualche codice javascript che imposta il valore di true
  • Quando si esegue il postback, controllare il valore.

Per controllare i cookie, impostare un cookie e provare a leggerlo. Se ha successo, i cookie sono abilitati.

+0

Per essere più precisi, utilizzare

+0

Tieni presente che il rendering di 'noscript' si verifica solo quando il browser non supporta JavaScript se l'utente lo ha disabilitato. Non verrà visualizzato se un errore JavaScript causa l'interruzione dell'esecuzione di JS. –

3
<!-- gatewayPage.php --> 
<noscript> 
    <div style="background-color:red;font-size:14pt;"> 
     This site will be very boring unless you enable Javascript! 
    </div> 
    <!-- if you're convinced that bots won't follow your redirect, add this: --> 
    Proceed to <a href="myRealHomePage.php">MySite</a> anyway 
</noscript> 
<script> 
    documment.location = "myRealHomePage.php"; 
</script> 
+0

Spero solo che lo spider di ricerca segua i reindirizzamenti JavaScript. – epascarello

+0

questo è un male per SEO, in quanto i crawler dei motori di ricerca non possono seguire i reindirizzamenti javascript. –

+0

Forse una volta, ma googlebot segue sicuramente il mio. – egrunin

Problemi correlati