有没有办法检索智能手机的模式?如果是横向或纵向模式?在PHP中可以访问的所有内容?
似乎无法在JS中访问Session。但你可以用Cookies做到这一点。这是一个片段(未经测试)
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
}
答案 0 :(得分:1)
您可以做的最多是在Javascript中检测,然后将该数据发送回服务器。查看window.orientation
和orientationchange
事件。