js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码

时间:2021-05-26

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

<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 == "/"; } } }})(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>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章