怎么样通过js根据手机客户端浏览器类型判断跳转官网?

怎么样通过js根据手机客户端浏览器类型判断跳转官网?

实例一、比较简单粗暴缺少点类型判断

<script type="text/javascript"> 
  
    var sUserAgent = navigator.userAgent.toLowerCase(); 
    var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; 
    var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; 
    var bIsMidp = sUserAgent.match(/midp/i) == "midp"; 
    var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; 
    var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; 
    var bIsAndroid = sUserAgent.match(/android/i) == "android"; 
    var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; 
    var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; 
    if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM ){ 
     window.location.href="3g.php";
    } 
   
     
</script>

实例二、代码工整,很多的函数都基于这个增加的功能

<script>
var pc_style = ""
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1,
presto: u.indexOf('Presto') > -1,
webKit: u.indexOf('AppleWebKit') > -1,
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/) && u.indexOf('QIHU') && u.indexOf('QIHU') > -1 && u.indexOf('Chrome') < 0,
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
iPad: u.indexOf('iPad') > -1,
webApp: u.indexOf('Safari') == -1,
ua: u
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}

if (browser.versions.mobile && !browser.versions.iPad) {
this.location = "此处输入跳转微站首页地址";
}
</script>

实例三、增加了一些功能

<!--智能手机判断开始-->
<!--
 <script type = "text/javascript" language = "javascript" >
Function.prototype.bind = function (bindObj, args) {
var _self = this;
return function () {
return _self.apply(bindObj, [].concat(args))
}
};
function $(id) {
return "string" == typeof id ? document.getElementById(id) : id;
};

var browser = {
versions : function () {
var u = navigator.userAgent,
app = navigator.appVersion;
return {
trident : u.indexOf('Trident') > -1,
presto : u.indexOf('Presto') > -1,
webKit : u.indexOf('AppleWebKit') > -1,
gecko : u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
mobile : !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/),
ios : !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
iPad : u.indexOf('iPad') > -1,
webApp : u.indexOf('Safari') == -1,
QQbrw : u.indexOf('MQQBrowser') > -1,
ucLowEnd : u.indexOf('UCWEB7.') > -1,
ucSpecial : u.indexOf('rv:1.2.3.4') > -1,
ucweb : function () {
try {
return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2
} catch (e) {
if (u.indexOf('UC') > -1) {
return true;
} else {
return false;
}
}
}
(),
Symbian : u.indexOf('Symbian') > -1,
ucSB : u.indexOf('Firefox/1.') > -1
};
}
()
}
var _gaq = _gaq || [];
(function (win, browser, undefined) {
var rf = document.referrer;
if (rf === "" || rf.toLocaleLowerCase().indexOf(".xiu.com") === -1) {
var defaultJumpDomain = "";
if (defaultJumpDomain == "www") {
return;
}
if (defaultJumpDomain == "m") {
window.location.href = "http://wap.xiu.com/?from=pc";
return;
}
if (screen == undefined || screen.width < 810) {
if (browser.versions.iPad == true) {
return;
}
if (browser.versions.webKit == true || browser.versions.mobile == true || browser.versions.ios == true || browser.versions.iPhone == true || browser.versions.ucweb == true || browser.versions.ucSpecial == true) {
win.location.href = "http://wap.xiu.com/?from=pc";
return;
}
if (browser.versions.Symbian) {
win.location.href = "http://wap.xiu.com/";
}
}
}
})(window, browser);

 </script>
-->
<!--智能手机判断结束-->

实例四、简洁路饭推荐使用,如果您有更好的代码可以分享

<script type="text/javascript">
var browser = {
versions : function () {
var u = navigator.userAgent,
app = navigator.appVersion;
return {
trident : u.indexOf('Trident') > -1,
presto : u.indexOf('Presto') > -1,
webKit : u.indexOf('AppleWebKit') > -1,
gecko : u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
mobile : !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/),
ios : !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android : u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone : u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
iPad : u.indexOf('iPad') > -1,
webApp : u.indexOf('Safari') == -1,
QQbrw : u.indexOf('MQQBrowser') > -1,
weiXin : u.indexOf('MicroMessenger') > -1,
ucLowEnd : u.indexOf('UCWEB7.') > -1,
ucSpecial : u.indexOf('rv:1.2.3.4') > -1,
ucweb : function () {
try {
return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2
} catch (e) {
if (u.indexOf('UC') > -1) {
return true;
} else {
return false;
}
}
}
(),
Symbian : u.indexOf('Symbian') > -1,
ucSB : u.indexOf('Firefox/1.') > -1
};
}
(),
liulanqi : navigator.userAgent
}
if (browser.versions.QQbrw){
document.write("qq浏览器");
}else
{
document.write("其它浏览器"+browser.liulanqi);
}
</script>