Domanda

C'è un modo per recuperare la modalità di uno smartphone? Se è in modalità paesaggio o ritratto? E tutto quello accessibile all'interno di PHP?

Sembra che la sessione non sia accessibile all'interno di JS. Ma puoi farlo con i biscotti. Ecco uno snippet (non testato)

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;
  }
}

In PHP:

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

Preso da qui e qui e qui e qui e qui.

È stato utile?

Soluzione

Il massimo che potresti fare è rilevare in JavaScript e quindi inviare tali dati al server. Guardare window.orientation e il orientationchange evento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top