您好我想在PHP中检测ipad方向,我知道我可以检测到iPad,但我如何检测方向,我需要它在PHP而不是CSS,因为我想在我的画廊中显示x图片的肖像和x在风景中。
这是我用来检测iPad for php的代码:
if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPad') !== FALSE) {
} else {
}
我已经在这个网站和谷歌上查了但是找不到任何有用的东西
三江源
答案 0 :(得分:4)
当用户以不同方式持有iPad时,iPad方向可能会发生变化。因此,没有必要在php中注册它 - 当你的响应到达客户端时,它可能已经不同了。
如果需要在CSS中无法完成任何管道(如加载不同的图像等),请处理orientationchanged
event in JavaScript。
答案 1 :(得分:0)
这不是方向检测,而是用户代理检测。它只检测浏览页面的浏览器类型。
答案 2 :(得分:0)
您是否尝试检测设备或设备的旋转方式?
我相信你可以更轻松地在Javascript或CSS中检测设备的方向,你看过这些吗?
<button onclick="detectIPadOrientation();">What's my Orientation?</button>
<script type="text/javascript">
window.onorientationchange = detectIPadOrientation;
function detectIPadOrientation ()
{
if ( orientation == 0 ) {
alert ('Portrait Mode, Home Button bottom');
}
else if ( orientation == 90 ) {
alert ('Landscape Mode, Home Button right');
}
else if ( orientation == -90 ) {
alert ('Landscape Mode, Home Button left');
}
else if ( orientation == 180 ) {
alert ('Portrait Mode, Home Button top');
}
}
</script>
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
答案 3 :(得分:0)
设备方向是动态的 - 用户可以在页面加载后旋转设备。因此,将它包含在用户代理字符串中是没有意义的。
相反,您应该使用HTML和JavaScript在方向更改时更改布局。
答案 4 :(得分:0)
每个人都建议你在Java Script中这样做,这是完全正确的,但我猜你不会从你的问题中看到这个选项。
你应该从PHP加载足够的图像(或者所有,如果不是一个愚蠢的数字,它毕竟只是一个URL字符串)来填充JSON中最大的大小(json_encode($ array of image URL))格式。然后使用JavaScript检测方向,并使用正确的图像数量/布局填充页面。
您将在图像URL的JavaScript中使用数组来动态选择和加载。
答案 5 :(得分:0)
使用此代码可能会对您充分使用
var orient = Math.abs(window.orientation) === 90 ? 'landscape' : 'portrait';
答案 6 :(得分:0)
一种野蛮的方式是通过jQuery将方向更改存储在cookie中,并使用php中的$_COOKIE
变量访问它。
但是,您仍然需要使用javascript钩子来检测方向更改以及可能的页面重新加载。