2012-02-22 21 views
9

Sto cercando una soluzione per mostrare al visitatore del mio sito Web un messaggio informativo, se non ha abilitato javascript. L'ho provato con un messaggio in un div, che è visibile di default ma immediatamente nascosto da una funzione jQuery all'avvio. Il problema è che il messaggio è visibile per un breve periodo (fino a quando non viene nascosto), cosa molto irritante.Mostra messaggio se javascript non è abilitato nel browser

Esistono altri modi per mostrare un messaggio, se JS non è abilitato?

Grazie, Konrad

risposta

29

usare il tag noscript:

<noscript> 

    <div class="awesome-fancy-styling"> 
    This site requires JavaScript. I will only be visible if you have it disabled. 
    </div> 
    ... 
</noscript> 

Vedi https://developer.mozilla.org/en/HTML/Element/noscript.

+0

Oh grazie ... noscript ... così semplice :-) – Konrad

+0

Ci dovrebbe essere una categoria per le domande "Gimme" ... Oh, penso '[Duplicate]'. ;-) – RobG

3

È possibile utilizzare noscript, all'interno di questi tag è ciò che verrà visualizzato se l'utente ha javascript disattivato.

Se si desidera nascondere l'altro contenuto, se l'utente non ha i javascript abilitato, si può fare qualcosa di simile in modo (questo utilizza jQuery):

<style type="text/css"> 
    .example { 
     display: none; 
    } 
</style> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('.example').show(); 
    }); 
</script> 

<div class="example"> 
    <p>...</p> 
</div> 

<noscript> 
    <p>You must have javascript enabled for the example div to show!</p> 
</noscript> 

Questo mostrerà solo il contenuto, se l'utente ha javascript abilitato.

+1

Questa è la risposta più utile perché a volte vuoi solo nascondere il contenuto di webtemplates fornendo alternative per no-javascript (quindi invece di un'immagine overlay con il pulsante "x", senza javascript ti basta aprire una nuova pagina con URL) – GameDeveloper

1

È possibile utilizzare '' e fornire il messaggio di errore desiderato.

<html> 
    <body> 

    <script language="javascript" type="text/javascript"> 
    <!-- 
     document.write("Hello World!") 
    //--> 
    </script> 

    <noscript> 
    Sorry...JavaScript is needed to go ahead. 
    </noscript> 

    </body> 
    </html> 
1

Ho provato diverse opzioni usando noscript e nessuno ha lavorato per me.

ho finito per usare:

<p align=center id=js_disabled_message> 
    x.com requires JavaScript Enabled <br> <a href="https://www.enable-javascript.com/">www.enable-javascript.com</a> 
</p> 
<script> 
    document.getElementById('js_disabled_message').style.display = 'none'; 
</script> 

che nascondono il tag p, solo se js è abilitato.
È una logica opossitica per rilevare se JavaScript è abilitato, ma funziona bene in tutti i browser.

SRC

Problemi correlati