Foros del Web » Programando para Internet » PHP »

Guardar en una variable PHP si JAVASCRIPT está activado/habilitado

Estas en el tema de Guardar en una variable PHP si JAVASCRIPT está activado/habilitado en el foro de PHP en Foros del Web. Hola de nuevo. Posteo esto por aqui tras darle 6 horas de vueltas en todos los foros y tirando de los buscadores y todas las ...
  #1 (permalink)  
Antiguo 08/01/2012, 15:14
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Información Guardar en una variable PHP si JAVASCRIPT está activado/habilitado

Hola de nuevo.

Posteo esto por aqui tras darle 6 horas de vueltas en todos los foros y tirando de los buscadores y todas las respuestas que daban no eran las adecuadas para un completo manejo con PHP.

La mayoría de ellas te llevan a usar NOSCRIPT con lo cual no te da la posibilidad de mandar la variable a PHP.

Y la otra forma es usar un META dentro de un NOSCRIPT cosa que no funciona en las navegadores actuales pues NOSCRIPT debe estar en el BODY y el META en el HEAD (tal vez esto sí funcione en navegadores antiguos).

Otros te decían de crear un FORM con lo que el cliente tendría que participar de la acción apretando al botón de ENVIAR.

Al final me olvidé de los buscadores y me puse a pensar. Al final se puede lograr lo esperado con una combinación de HTML, JAVASCRIPT y PHP.

Lo he probado en todos los navegadores disponible para Linux y en sus versiones recientes (no en viejas versiones y tampoco en Windows asi que todavía no sé si funciona en los IE o en Safari). Pero según la documentación encontrada, podría no redirigir en los casos de IE con javascript deshabilitado y con opciones de seguridad propias del navegador habilitadas. Tampoco he probado con navegadores móviles.

El método es sencillo y consiste en REDIRIGIR.

1º redirige por JAVASCRIPT si está activado.
2º redirige por HTML.

Código HTML:
<html>
<head>
<meta http-equiv="refresh" content="0;URL=javascript-disable.php" >
</head>
<body>
<script type="text/javascript">
<!--
window.location = "javascript-enabled.php"
//-->
</script>
</body>
</html> 
Así de simple :P

No se hace uso de NOSCRIPT pero se puede añadir para los casos de que no se rediriga.

Según se deduce, los navegadores priorizan el redireccionamiento por JAVASCRIPT y luego el de HTML. Si un navegador no hicera así (lo digo por si alguien prueba en otros navegadores) entonces se podría probar cambiando el tiempo de redireccionamiento (refresh) a 1 segundo en lugar de 0 y probar que tal.

Si alguien pudiera probar todo esto con los navegadores de IE se lo agradecería.

A partir de ahi, les dejo la imaginación a vosotros. Según el ejemplo, lo que se haría es crear en cada script una variable diferente y seguir un proceso como se requiera.

También se podría pasar parámetros en el URL de tal forma: javascript.php?js=true para un caso y javascript.php?js=false para el otro... asi se devuelve todo en un único script a partir del cual sólo queda guardar la variable $_GET['js'] para su uso en PHP

Comprobado en: Firefox 9.0.1, Firefox 12 Alpha, Chrome 16, Chromium 14, Opera 11.60, Opera Next 12, Arora 0.10.2, Seamonkey 2.0.11, Rekonq 0.6.1, Midori 0.2.4, Epiphany 2.30.2, Qupzilla 1.0.0.rc1, Netsurf 1.2, Konqueror 4.5.5, Fennec 1.1, Doodle 0.07, ELinks 0.12
  #2 (permalink)  
Antiguo 17/02/2012, 01:54
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Guardar en una variable PHP si JAVASCRIPT está activado/habilitado

Sos lo más!!!. Me funcionó de 10.
Que buena solucion y que cerebro.
Te lo agradezco un montón.

Etiquetas: html, javascript, variables
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 01:10.