Pregunta

¿Hay alguna manera de recuperar el modo de un teléfono inteligente? ¿Si está en modo paisaje o retrato? ¿Y todo ese accesible dentro de PHP?

Parece que no se puede acceder a la sesión dentro de JS. Pero puedes hacer eso con galletas. Aquí hay un fragmento (no probado)

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/; domain=.example.com";
}
function eraseCookie(name) {
createCookie(name,"",-1);
}

window.onorientationchange = function() {
  /*window.orientation returns a value that indicates whether iPhone is in portrait mode, landscape mode with the screen turned to the
left, or landscape mode with the screen turned to the right. */
var orientation = window.orientation;

switch(orientation) {

 case 0:
    // If in portrait mode
    document.getElementById("google_map").style.width="300px";
    document.getElementById("google_map").style.height="200px";
  eraseCookie("orientation"); 
   createCookie('orientation','portrait','0');
    break;  

case 90:
    // If in landscape mode with the screen turned to the left
    document.getElementById("google_map").style.width="450px";
    document.getElementById("google_map").style.height="325px";
  eraseCookie("orientation");
    createCookie('orientation','landscape','0');
    break;

case -90:  
    // If in landscape mode with the screen turned to the right
    document.getElementById("google_map").style.width="450px";
    document.getElementById("google_map").style.height="325px";
  eraseCookie("orientation");
    createCookie('orientation','landscape','0');
    break;

case 180:
    // If in portrait mode with the screen flipped
    document.getElementById("google_map").style.width="300px";
    document.getElementById("google_map").style.height="200px";
  eraseCookie("orientation");
    createCookie('orientation','portrait','0');
    break;
  }
}

En PHP:

 $orientation = $_COOKIE["orientation"];
 if($orientation=="portrait"){
     // do something
}else if($orientation=="landscape"){
    // do something different
}else{
  // fallback
 }

Tomado de aquí y aquí y aquí y aquí y aquí.

¿Fue útil?

Solución

Lo máximo que puede hacer es detectar en JavaScript y luego enviar esos datos al servidor. Verificar window.orientation y el orientationchange evento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top