当网页需要根据不同的客户端设备或浏览器来显示不同的版本或者响应不同的事件时,通常是使用JS来实现,说得具体点,就是通过JS获取浏览器UA来判断客户端设备是PC、平板还是手机。程序代码我想很多人都会写,不过本文分享的是腾讯电脑管家网页使用的代码,个人觉得代码简单严密,兼容性强,值得收藏。 JS代码如下: <script> var os = function() { var ua = navigator.userAgent, //获取浏览器UA isWindowsPhone = /(?:Windows Phone)/.test(ua), isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone, isAndroid = /(?:Android)/.test(ua), isFireFox = /(?:Firefox)/.test(ua), isChrome = /(?:Chrome|CriOS)/.test(ua), isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)), isPhone = /(?:iPhone)/.test(ua) && !isTablet, isPc = !isPhone && !isAndroid && !isSymbian; return { isTablet: isTablet, isPhone: isPhone, isAndroid : isAndroid, isPc : isPc }; }(); if(os.isPc) //判断是否PC alert("PC"); else if(os.isPhone) //判断是否iPhone alert("Phone"); else if(os.isAndroid) //判断是否Android alert("Android"); else if(os.isTablet) //判断是否平板 alert("Tablet"); </script> execcodegetcode 代码解释,先获取浏览器UA,然后通过正则表达式,判断使用的是什么浏览器,最后判断是什么设备。 实例知识补充 JS正则表达式 test 方法的使用 test 检查指定的字符串是否存在 var data = "123123"; var reCat = /123/gi; //检查字符是否存在 g 继续往下走 i 不区分大小写 alert(reCat.test(data)); //true execcodegetcode 相关文章推荐 - 判断是否移动端设备的JS代码,超短,百度都用它
- js实现手机打开PC网页自动跳到手机网页
|