2012-02-22 35 views
9

Estoy buscando una solución para mostrar al visitante de mi sitio web un mensaje de información, si no tiene javascript habilitado. Lo intenté con un mensaje en un div, que es visible por defecto pero que se oculta inmediatamente mediante una función jQuery en el inicio. El problema es que el mensaje es visible por un corto tiempo (hasta que se oculta), lo que es muy irritante.Mostrar mensaje si javascript no está habilitado en el navegador

¿Hay otras maneras de mostrar un mensaje, si JS no está habilitado?

Gracias, Konrad

Respuesta

29

utilizar la etiqueta noscript:

<noscript> 

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

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

+0

Oh, gracias ... noscript ... así :-) sencilla – Konrad

+0

No debería ser una categoría de preguntas "Gimme" ... oh, supongo '' [Duplicar]. ;-) – RobG

3

Puede usar noscript, dentro de estas etiquetas se mostrará si el usuario tiene javascript deshabilitado.

Si desea ocultar el resto del contenido si el usuario no tiene habilitado JavaScript, puede hacer algo como lo que (esto utiliza 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> 

Esto sólo mostrará el contenido si el usuario tiene javascript habilitado

+1

Esta es la respuesta más útil porque a veces solo quieres ocultar el contenido de las plantillas web que proporcionan alternativas para no-javascript (así que en lugar de una imagen superpuesta con el botón "x", sin javascript simplemente abres una página nueva URL) – GameDeveloper

1

Puede usar '' y proporcionar el mensaje de error que desee.

<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

He intentado varias opciones usando noscript y ninguno trabajó para mí.

Terminé usando:

<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> 

¿Qué se oculta la etiqueta p, única Si se habilita js.
Es un poco de la lógica opuesta para detectar si JavaScript está habilitado, pero funciona bien en todos los navegadores.

SRC

Cuestiones relacionadas