Foros del Web » Programando para Internet » Javascript »

Controlar si JavaScript está activo

Estas en el tema de Controlar si JavaScript está activo en el foro de Javascript en Foros del Web. Buenas, pues esa es la pregunta, ¿como controlo en mi página web (PHP) si JavaScript está activo o no? Uso JavaScript (Jquery, Ajax) para cargar ...
  #1 (permalink)  
Antiguo 24/06/2011, 04:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 15 años, 3 meses
Puntos: 0
Controlar si JavaScript está activo

Buenas, pues esa es la pregunta, ¿como controlo en mi página web (PHP) si JavaScript está activo o no? Uso JavaScript (Jquery, Ajax) para cargar algun slider y también para recargar un div, y si alguien lo tuviera desactivado, la página no se vería bien, me gustaría saber como controlar eso, para que en el caso de no tenerlo activo, mostrar otra página o algo así.

Saludos.
  #2 (permalink)  
Antiguo 24/06/2011, 08:39
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Controlar si JavaScript está activo

Quien tiene JavaScript desactivado?

Related:

@chriscoyier
Cita:
document.write("<noscript>Wait. What?</noscript>");
__________________
blog | @aijoona
  #3 (permalink)  
Antiguo 24/06/2011, 11:18
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Controlar si JavaScript está activo

Le coloca una clase al <BODY> y luego por Javascript la borra

Código HTML:
Ver original
  1. <body class="noJS">
  2. <script>$("body").removeClass("noJS")</script>

Y luego ya queda muy facil controlar el aspecto de la pagina por el CSS

Código CSS:
Ver original
  1. .noJS #slider {
  2.     display:none
  3. }
  #4 (permalink)  
Antiguo 24/06/2011, 19:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Controlar si JavaScript está activo

Hola:

Primero deberías hacer la página "navegable" sin javascript, y luego, cuando sea navegable, cancelar los eventos de navegación para añadir tus scripts...

<a href="destino.php" onclick="enlazar_con_javascript(this.href); return false">...</a>

ese return false cancala ese enlace... pero si tu función (enlazar_can_javascript()) tiene errores se aborta el código, y no cancela,; así que de todas formas enlaza...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 24/06/2011, 19:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Controlar si JavaScript está activo

buenas,
lo adecuado seria que el sitio fuera funcional incluso sin la tecnica de XHR (aka. AJAX). es decir, los enlaces deberian apuntar a los documentos de forma normal justamente pare el caso que javascript no este disponible. luego con javascript aplicas las correcciones necesarias para hacerlo funcionar como deseas con XHR.

Cita:
Quien tiene JavaScript desactivado?
pues aunque te parezca raro, habemos quienes navegamos sin javascript. incluyendome!
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 24/06/2011, 19:57
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Controlar si JavaScript está activo

Entonces estás en mi lista de non-supported, junto a IE6/7 :p

Cita:
Iniciado por caricatos Ver Mensaje
Primero deberías hacer la página "navegable" sin javascript
Eso es circunstancial, no se puede pretender que toda aplicación/pagina web sea utilizable sin JS.
__________________
blog | @aijoona
  #7 (permalink)  
Antiguo 25/06/2011, 00:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Controlar si JavaScript está activo

Cita:
Iniciado por Aijoona Ver Mensaje
...
Eso es circunstancial, no se puede pretender que toda aplicación/pagina web sea utilizable sin JS.
Debería ser siempre así. Todos tienen derecho a desactivar javascript, incluso hay navegadores para discapacitados que no lo soportan.

No puedo esperar que un invidente se entere de un efecto de transición, pero eso no quita que pueda tener acceso a todo el contenido de una web.

Además, vicios de malos diseñadores crean más problemas de lo que crees; por ejemplo, lanzar scripts que no son enlaces con el tag "a"... Si es la respuesta a un evento, debería usarse los manejadores de eventos, y si un contenido queremos mostrarlo en una ventana o una capa, también debería existir la opción de seleccionar nosotros mismos esa ventana (con el menú contextual)...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 25/06/2011, 00:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Controlar si JavaScript está activo

Cita:
Debería ser siempre así. Todos tienen derecho a desactivar javascript, incluso hay navegadores para discapacitados que no lo soportan.
Eso es tan cierto como que todas las paginas deberían ser navegables sin imágenes ni CSS... lo cual no le resta importancia. Pero para empresas pequeñas los costes para crear un sistema el cual funcione perfectamente sin Javascript no vale los pocos beneficios que trae.

La cantidad de gente sin Javascript activado (afortunadamente) es de menos del 2% [0]

Aunque los links si deben estar en "href"; pero mas que todo para SEO (optimizacion para buscadores).

Cita:
pues aunque te parezca raro, habemos quienes navegamos sin javascript. incluyendome!
Un momento... usted desarrolla en Javascript pero no mira lo que hace la otra gente con el lenguaje? Eso es como ser un diseñador de autos que siempre anda en bicicleta y procura no conocer los modelos de la competencia.

----------------

Volviendo al tema original; si quiere redireccionar a la gente sin javascript este es el código necesario (va en el <head> claro esta):
Cita:
<noscript> <meta http-equiv=refresh content="0; URL=index_sin_js.php" /> </noscript>

Última edición por InKarC; 25/06/2011 a las 00:51
  #9 (permalink)  
Antiguo 25/06/2011, 01:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Controlar si JavaScript está activo

Hola:

Puede haber muchas razones para desactivar javascript durante sesiones. Yo normalmente lo tengo activado, pero me gusta probar la accesibilidad tanto de mis sitios como de terceros.
También hay páginas que terminan hartando, de tanto efecto "chorra"... y por eso mismo sé que hay quienes lo desactivan.

Por cierto, he leído por ahí que no es válido el "noscript" en el head...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 25/06/2011, 07:26
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Controlar si JavaScript está activo

Nadie hace publicidades en braile, ya que es un mercado insignificante. Pensar que todo sitio debería ser accesible a todo el público es demencial en la gran mayoría de los casos.

JavaScript está tomando un papel cada vez más importante, y guste o no el cuento del 'progressive-enhacement' no es algo aplicable/redituable en todas las situaciones.

La lógica es sencilla, si la relación esfuerzo/beneficio no cierra...
__________________
blog | @aijoona
  #11 (permalink)  
Antiguo 25/06/2011, 07:49
 
Fecha de Ingreso: junio-2011
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Controlar si JavaScript está activo

buenas... son nuevo en esto... como puedo publicar una pregunta en el foro???...
  #12 (permalink)  
Antiguo 25/06/2011, 08:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Controlar si JavaScript está activo

Cita:
Iniciado por ZciroKoko4566 Ver Mensaje
buenas... son nuevo en esto... como puedo publicar una pregunta en el foro???...
¿perdón?: acaso no ves el botón "Nuevo Tema" en los hilos de mensajes (foros) principales
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #13 (permalink)  
Antiguo 25/06/2011, 14:22
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Controlar si JavaScript está activo

Buenas noches, yo estoy de acuerdo con las dos opiniones. Es verdad que las páginas deberían ser accesibles con JS desactivado, pero también hay que dejar de maquetar con tablas, y no usar marquee, y un largo etcétera; y sin embargo aún hay gente que lo hace. Además, es innegable que JS se ha vuelto una parte fundamental de la web, y que lejos quedaron los días en que sólo se usaba para validar forms o crear pop-ups, así que no tiene sentido seguir "coartando" su expansión.
Supongo que toda esta cuestión se reduce a saber usarlo en su justa medida. Hay cosas para las que queramos o no necesitamos JS, pero lo de crear las páginas casi enteramente con él se les reserva a los grandes, como Hotmail o Google.
Esa es mi modesta opinión.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #14 (permalink)  
Antiguo 25/06/2011, 14:43
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: Controlar si JavaScript está activo

Yo he hecho frontends de aplicaciones de gestión enteramente en JS y no trabajo para una empresa grande. Y considero que fue en la justa medida (100%).

Hay sitios que no tienen razón de ser sin el dinamismo que le aporta JS, y eso es imposible de replicarlo solo con HTML.

Es más factible encontrar un usuario sin Flash que uno sin JS y no por ello se dejan de hacer sitios en flash.
__________________
blog | @aijoona

Última edición por Aijoona; 25/06/2011 a las 14:55
  #15 (permalink)  
Antiguo 27/06/2011, 01:26
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Controlar si JavaScript está activo

El caso es que yo en mi menu si enlazo bien (creo), a cada enlace hay un <a href="sitio.php">, luego con jquery, con la funcion e.prevenDefault(); hago que no vaya a la pagina, para q la cargue en un div, pero si alguien lo desactiva, iria a la página, pero sitio.php no es una página completa, solo tiene divs y demás...¿como hago para cargar toda una página controlando si tiene javascript?, algo parecido a:
Código PHP:
Ver original
  1. <?php
  2. if (javascript_noactivo){
  3. echo '<html>'
  4. echo '<head>'
  5. ....
  6. }
  7. ?>
para así cargar el menú también.

Saludos.
  #16 (permalink)  
Antiguo 27/06/2011, 07:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Controlar si JavaScript está activo

Hola:

Las páginas navegables, sí o sí deben ser completas (con sus encabezados, titles, metas...), luego puedes hacer la petición con otro parámetro para omitir esos encabezados y demás...

<a href="destino.php" onclick="enlazar_con_ajax('destino.php?con_ajax')" >...</a>

Luego en destino.php...

Código:
if (!empty($_GET["con_ajax"])) echo <<< encabezados

<doctype...
<html>...
...etc...

encabezados;
// aquí la respuesta sin ajax...y no nos olvidemos los pies (bigfoods)
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #17 (permalink)  
Antiguo 28/06/2011, 01:09
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Controlar si JavaScript está activo

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Las páginas navegables, sí o sí deben ser completas (con sus encabezados, titles, metas...), luego puedes hacer la petición con otro parámetro para omitir esos encabezados y demás...

<a href="destino.php" onclick="enlazar_con_ajax('destino.php?con_ajax')" >...</a>

Luego en destino.php...

Código:
if (!empty($_GET["con_ajax"])) echo <<< encabezados

<doctype...
<html>...
...etc...

encabezados;
// aquí la respuesta sin ajax...y no nos olvidemos los pies (bigfoods)
Saludos
oooooooki, así lo haré, muchas gracias por vuestra ayuda.

Saludos.

Etiquetas: activo, controlar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:00.