怎么判断网页是被安卓设备访问还是IOS设备访问

问题描述:

我的一个播放视频页面 放了优酷的通用代码 苹果的设备都可以观看 但是安卓的设备有一部分看不了,所以想学习一下怎么判断是哪种设备访问的页面 可以加载不同的视频链接

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>webkfa.com</TITLE>
 </HEAD>
 <BODY>
  <div id="testid"></div>
 <script type="text/javascript">
  var browser={
    versions:function(){
            var u = navigator.userAgent, app = navigator.appVersion;
            return {         //移动终端浏览器版本信息
                 trident: u.indexOf('Trident') > -1, //IE内核
                presto: u.indexOf('Presto') > -1, //opera内核
                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
                ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
                iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
            };
         }(),
         language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
var html=[];
html[html.length]="语言版本: "+browser.language;
html[html.length]=" 是否为移动终端: "+browser.versions.mobile+"<br/>";
html[html.length]=" ios终端: "+browser.versions.ios+"<br/>";
html[html.length]=" android终端: "+browser.versions.android+"<br/>";
html[html.length]=" 是否为iPhone: "+browser.versions.iPhone+"<br/>";
html[html.length]=" 是否iPad: "+browser.versions.iPad+"<br/>";
html[html.length]=navigator.userAgent+"<br/>";
document.getElementById("testid").innerHTML=html.join("");
  </script>   
 </BODY>
</HTML>

通过Http的Request头中的UserAgent字段可以判断。

从HTTP的header中的User-Agent来获取信息