質問

スマートフォンのモードを取得する方法はありますか?ランドスケープまたはポートレートモードにある場合は?そして、PHP内でアクセスできるものはすべて?

JS内でセッションにアクセスできないようです。しかし、クッキーでそれを行うことができます。これがスニペットです(テストされていません)

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

PHPで:

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

から取られた ここここここここここ.

役に立ちましたか?

解決

できることは、JavaScriptで検出してから、そのデータをサーバーに送信することです。チェックアウト window.orientation そしてその orientationchange イベント。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top