Foros del Web » Programando para Internet » PHP »

Detectar si javascript está desactivado

Estas en el tema de Detectar si javascript está desactivado en el foro de PHP en Foros del Web. Hola a todos. ¿Alguien sabe cómo detectar si la máquina cliente tiene el javascript desactivado? Gracias....
  #1 (permalink)  
Antiguo 30/11/2005, 01:25
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
Detectar si javascript está desactivado

Hola a todos.

¿Alguien sabe cómo detectar si la máquina cliente tiene el javascript desactivado?

Gracias.
  #2 (permalink)  
Antiguo 30/11/2005, 03:40
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Pues a mi se me ocurre:

<noscript>
Usted tiene JavaScript desactivado
</noscript>

<script type="text/javascript">
document.write('Usted tiene JavaScript activado');
</script>


Saludo,
DJ-Dom
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #3 (permalink)  
Antiguo 30/11/2005, 05:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Así es... la manera de detectar si JS esta activado es probandolo. A lo más con PHP puedes detectar si el Navegador soporta JS, lo cuál no asegura que este activado.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 30/11/2005, 05:42
Avatar de vites  
Fecha de Ingreso: agosto-2005
Ubicación: Lugar en el que esta ubicado algo
Mensajes: 58
Antigüedad: 12 años, 3 meses
Puntos: 0
prueba con la función get_browser
  #5 (permalink)  
Antiguo 30/11/2005, 06:24
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
Necesito controlarlo desde php, porque si el navegador no tiene javascript activado, no quiero mostrarle la página.

Según la documentación de la función get_browser(), parece que ésta devuelve un valor que dice si el javascript está activado o no, así que me serviría. Ahora sólo tengo que conseguir que los del servidor me configuren la directiva correspondiente en el php.ini, porque ahora mismo no funciona la función.

Gracias a los tres.
  #6 (permalink)  
Antiguo 30/11/2005, 06:50
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
parece que ésta devuelve un valor que dice si el javascript está activado o no
No... presisamente era a la función que me referia anteriormente y no, no te dice si JS esta activado, te dice si el navegador soporta JS cosa totalmente diferente.

Claramente lo dice:
Cita:
get_browser -- Indica las capacidades del navegador del usuario
... la forma de comprobarlo es usándolo.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 30/11/2005, 06:58
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
Vale, entonces no sé cómo hacerlo. El caso es el siguiente: si el navegador no tiene javascript activado, no quiero que se me muestre la página, quiero que se muestre un mensaje de error, o que me salte a otra página. Por eso quería controlarlo desde php. ¿Cómo puedo hacerlo?
  #8 (permalink)  
Antiguo 30/11/2005, 07:04
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
si el navegador no tiene javascript activado, no quiero que se me muestre la página
Pués crea esa página con puro JavaScript... algo que te sustituya --borre-- tu mensaje de error y escriba propiamente la página.

Consulta el foro de JavaScript... ya he visto temas similares. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 30/11/2005, 08:22
 
Fecha de Ingreso: agosto-2005
Mensajes: 109
Antigüedad: 12 años, 3 meses
Puntos: 0
Cita:
Iniciado por mariogl84
¿Alguien sabe cómo detectar si la máquina cliente tiene el javascript desactivado?
Es fácil.

Se pueden meter los dos en uno, pero te lo dejo así para que lo veas claro.

Un saludo.


El index de lanzamiento y de NO lo tiene activado:

index.php:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html dir="ltr" lang="es-MX">
    <
META NAME="ROBOTS" CONTENT="noindex, follow">
    <
META HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980 1:00:00 GMT">
    <
META HTTP-EQUIV="Pragma" CONTENT="no-cache"
    <
META name="keywords" content="lo que sea" />
    <
META name="description" content="lo que sea" />
    <
title>el título</title>
<
script language="javascript">
    
document.write("</head>");
    
document.write("<body onload=document.location.replace(\"index_si.php?\")>");  
</script>
NO tiene activado JavaScript
</body>
</html> 

y el index de SÍ lo tiene activado:

index_si.php:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html dir="ltr" lang="es-MX">
    <
META NAME="ROBOTS" CONTENT="noindex, follow">
    <
META HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980 1:00:00 GMT">
    <
META HTTP-EQUIV="Pragma" CONTENT="no-cache"
    <
META name="keywords" content="lo que sea" />
    <
META name="description" content="lo que sea" />
    <
title>el título</title>
</
head>
<
body>
SI tiene activado JavaScript
</body>
</
html
  #10 (permalink)  
Antiguo 30/11/2005, 12:13
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 15 años
Puntos: 20
Vale, veo soluciones útiles en vuestras dos respuestas. ¡Gracias!
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 11:04.