elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Saber si javascript está activado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Saber si javascript está activado  (Leído 9,215 veces)
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Saber si javascript está activado
« en: 7 Enero 2012, 23:53 pm »

Hola!

He buscado en muchos sitios en la red y no encuentro una forma adecuada de saber desde PHP,  si un navegador tiene activado javascript (que no instalado).

¿Alguien conoce alguna forma adecuada?

PD. A ver si es posible solo desde PHP, no ejecutando algo directamente desde javascript.

Gracias


En línea

madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #1 en: 8 Enero 2012, 11:34 am »

Podrías mirar en las cabeceras HTTP, aunque no es una opción muy certera.

O con la función get_browser():

Código
  1. $results = get_browser();
  2. if ($results["javascript"] == 1) {
  3. echo "JS Soportado!";
  4. }

El código de arriba sólo detecta si el navegador soporta JS, no si está activado.

La respuesta corta, es que en principio no puedes hacerlo sólo con PHP (está estrictamente ligado al server-side), lo que podrías hacer:

- Crear una cookie con JS.
- Comprobar desde PHP si esa cookie existe, si existe, es que JS está activado.

O la opción más sencilla, hacerlo todo con javascript xD.


En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #2 en: 8 Enero 2012, 12:06 pm »

Agradezco tu respuesta madpitbull_99.
La verdad que he buscado mucho.

Tal vez la solución sea desde PHP llamar a una función de javascript y verificar el resultado.
Gracias
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #3 en: 8 Enero 2012, 18:33 pm »

Tal vez la solución sea desde PHP llamar a una función de javascript y verificar el resultado.
No sería lo mismo que hacerla directamente desde JS?
En línea

Te vendería mi talento por poder dormir tranquilo.
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #4 en: 8 Enero 2012, 20:07 pm »

No sería lo mismo que hacerla directamente desde JS?

No porque por ejemplo y para entenderlo tengo un botón.
PHP lo muestra en pantalla y javascript ejecuta el código al pulsar el botón. Si un usuario tiene desactivado javascript, PHP sigue mostrando el botón aunque no haga nada.

madpitbull_99 me ha dado una idea y voy a llamar desde PHP a una simple función en javascript (un simple echo) y dependiendo del resultado estará o no activado javascript.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #5 en: 8 Enero 2012, 20:11 pm »

Prueba una llamada con AJAX :P
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Saber si javascript está activado
« Respuesta #6 en: 8 Enero 2012, 22:51 pm »

@madpitbull_99, la idea de la cookie es buena, incluso yo estaba pensando lo mismo pero si la analiza bien, no es muy buena idea. Ya que en la peticiones puedes mandar la cookie que verifica si el navegador soporta javascript, ese seria el bypass.

De todas las soluciones, yo creo que la mejor es la que plantea @madpitbull_99, la de la funcion get_browser(). Pero igual se puede hacer el bypass, ya que la información la obtiene mediante los datos que envia el navegador al cliente. Yo pienso que cualquier verificación de existencia de javascript, se le podría hacer un bypass, simplemente porque javascript se ejecuta del lado del cliente y mediante PHP puedes similar exactamente cualquier cosa que realiza el navegador.

Igual si es para comprobar si el usuario tiene javascript activado, para usar codigo javascript, la mejor opcion es usar get_browser(), así evita complicaciones, haces todo desde php, evitas combinar PHP e javascript y obtiene un mejor performance XD.

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines