Question

Y at-il un moyen de récupérer le mode d'un smartphone? Si elle est en mode paysage ou portrait? Et tout cela accessible en PHP?

Il semble session ne peut être consulté dans les JS. Mais vous pouvez le faire avec les cookies. Voici un extrait (non testé)

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
 }

et ici et ici et et ici .

Était-ce utile?

La solution

Le plus vous pouvez faire est de détecter en Javascript, puis nous renverrons de données sur le serveur. Consultez window.orientation et l'événement orientationchange.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top