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