Alternar entre versión móvil y escritorio

RaymaN

Buenas, estoy haciendo la versión móvil de una web y he colocado el típico enlace para pasar a la versión de escritorio (web.com?desktop). En el index.php tengo este código:

if (isset($_GET['desktop'])) {
	$_SESSION['desktop'] = true;
}

$detect = new Mobile_Detect();

if (isset($_SESSION['desktop'])) {
	$movil = null;
} else {
	$movil = ($detect->isMobile() || $detect->isTablet()) ? '/movil' : null;
}

Funciona bien, pero en navegadores móviles como Chrome o Tint (Android), la sesión sigue guardada a pesar de cerrar la pestaña y el navegador, por lo que busco una forma más eficiente de hacer el cambio. En el navegador stock de Android sí se destruye la sesión.

Saludos

Kiroushi

CSS con media selects, olvídate de esas chapuzas.

2 1 respuesta
RaymaN

#2 veo muy complejo adaptar la web a base de CSS, no es una web sencilla y prefiero tener dos versiones de las vistas, al menos por ahora, que la necesito tener lista cuanto antes.

1 respuesta
eXtreM3

#3 miraver esto

http://jcs-bg.blogspot.com.es/2010/02/detectar-dispositivos-moviles-y.html

1 respuesta
RaymaN

#4 no tiene nada que ver con mi duda. Uso esto: https://github.com/serbanghita/Mobile-Detect

1 respuesta
eXtreM3

#5 que no tiene nada que ver? Con el user_agent detectas el dispositivo, y si es móvil rediriges a m.tudominio.com por ejemplo, wtf!?

1 respuesta
zoeshadow

Según leo eso que estas usando está pensado para usarse como COMPLEMENTO a las Media Queries de CSS, es decir, hacer tu diseño responsivo en CSS, y completarlo con algún cambio en el código que envía el servidor ( eliminar partes que no vayan a ver los móviles, usar imágenes reducidas, etc )

Si quieres hacer dos versiones completamente distintas, se suele recomendar hacer una versión en un subdominio, como hace mediavida.

RPV: Responsive Design en google.

2 respuestas
RaymaN

#6 que sí, te estoy diciendo que eso ya lo hago con la librería que te he puesto, pero en vez de redirigir a un subdominio cargo las plantillas Twig de views/movil. Mi duda es como volver a la versión móvil al cerrar navegador.

#7 he leído un poco antes de empezar el diseño y no hay unanimidad en lo de hacerlo en un subdominio o no, a efectos de Google es lo mismo, así que yo he preferido dejarlo en el mismo para evitar redirecciones.

La web completa hace bastante uso de las tablas y en móvil son un coñazo de diseñar con buena usabilidad, de ahí que haya preferido hacer dos webs diferentes. El responsive queda muy bonito como concepto, pero en mi caso ya os digo que me costaría muchísimo más tiempo.

1 respuesta
eXtreM3

#8 vale no había terminado de entender #1. Ahora sí que estoy rayao xD

  • El usuario entra en tu web desde su móvil.
  • Selecciona versión móvil.
  • Funciona correctamente y todo está ok.
  • Cierra el navegador y al volver a entrar en tu web desde el móvil se le muestra la versión móvil que el propio usuario seleccionó ver en el pasado.

Cuál es el problema? Como mucho pon un link para ver versión clásica y pista.

#7 responsive = sensible, no responsivo xD

1 respuesta
RaymaN

#9

  • El usuario, si entra desde el móvil, accede a la versión móvil directamente.
  • Selecciona la versión escritorio.
  • Carga perfectamente
  • Cierra el navegador y se debería borrar el valor guardado en la session, pero en algunos navegadores en Android no lo hace, por lo que si vuelve a entrar, lo hace en la versión escritorio.

Usuarios habituales

  • RaymaN
  • eXtreM3
  • zoeshadow
  • Kiroushi