首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

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

2012-09-01 
如何检测iPhone和iPad上的Safari的用户代理?毫无疑问的,在你专门为iPhone和iPad创建了一个页面之后,第一件

如何检测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]

热点排行