如何检测iPhone和iPad上的Safari的用户代理?
毫无疑问的,在你专门为iPhone和iPad创建了一个页面之后,第一件首要的事情就是如何去分辨用户目前使用的是iPhone还是iPad了。苹果专门提供了iPad的用户代理标识[UserAgent],看起来是下面的一样:
Mozilla/5.0(iPad;U;CPUOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B334bSafari/531.21.10
iPhone的用户代理则跟下面的类似:
HTTP_USER_AGENT=Mozilla/5.0(iPhone;U;CPUlikeMacOSX;en)AppleWebKit/420+(KHTML,likeGecko)Version/3.0Mobile/1C25Safari/419.3
有了上面的信息之后,事情就变得简单多了,我们用Javascript就可以做到这点,检测用户的平台,并且将他们分别转向不同的页面:
<scripttype="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]