Exemple 1, relativement simple et grossier, manquant de jugement de type ponctuel
<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>
Exemple 2, le code est soigné, de nombreuses fonctions sont basées sur cette fonction ajoutée
<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>
Exemple 3. Ajout de quelques fonctions
<!--智能手机判断开始--> <!-- <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> --> <!--智能手机判断结束-->
Exemple 4, Simple Script House est recommandé. Si vous avez un meilleur code, vous pouvez le partager
.<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>