当前位置: 代码迷 >> Iphone >> 怎么检测iPhone和iPad下的Safari的用户代理
  详细解决方案

怎么检测iPhone和iPad下的Safari的用户代理

热度:49   发布时间:2016-04-25 06:28:55.0
如何检测iPhone和iPad上的Safari的用户代理?
毫无疑问的,在你专门为iPhone和iPad创建了一个页面之后,第一件首要的事情就是如何去分辨用户目前使用的是iPhone还是iPad了。苹果专门提供了iPad的用户代理标识[UserAgent],看起来是下面的一样:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10


iPhone的用户代理则跟下面的类似:

HTTP_USER_AGENT=Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C25 Safari/419.3
有了上面的信息之后,事情就变得简单多了,我们用Javascript就可以做到这点,检测用户的平台,并且将他们分别转向不同的页面:

<script type="text/javascript">
if((navigator.userAgent.match(/iPhone/i)) ||
(navigator.userAgent.match(/iPod/i))) {   if (document.cookie.indexOf("iphone_redirect=false") == -1) window.location = "http://iphone.yoursite.com/";
}
</script>
当然上面的方法也可以用PHP之类的服务端语言来实现,也很简单。

<?php
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod'))
{
  header('Location: http://yoursite.com/iphone');
  exit();
}
?>
如果你使用的是Apache,你还可以在.htaccess文件里简单的做到这件事情。

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
2RewriteRule ^(.*)$ http://ipad.yourdomain.com [R=301]
  相关解决方案