js判断访问自己网页的用户的浏览器设备是移动端还是pc端

作者:超级无敌大飞   阅读 (2172)  |  收藏 (0)  |  点赞 (0)

摘要

这篇文章主要介绍了js判断当前页面在移动设备还是在PC端中打开的相关资料,需要的朋友可以参考下


原文链接:js判断访问自己网页的用户的浏览器设备是移动端还是pc端

本文实例讲解了js判断当前页面在移动设备还是在PC端中打开的详细代码,分享给大家供大家参考

方法一:

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()
           }            
           if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
               var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
               if (ua.match(/MicroMessenger/i) == "micromessenger") {
                   //在微信中打开
                  setInterval(WeixinJSBridge.call('closeWindow'),2000);
               }
               if (ua.match(/WeiBo/i) == "weibo") {
                   //在新浪微博客户端打开
               }
               if (ua.match(/QQ/i) == "qq") {
                   //在QQ空间打开
               }
               if (browser.versions.ios) {
                   //是否在IOS浏览器打开
               } 
               if(browser.versions.android){
                   //是否在安卓浏览器打开
               }
           } else {
               //否则就是PC浏览器打开
               window.close();
           }

方法二:

最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的。

下面给出js判断处理代码,以作参考

<script type="text/javascript">
    function browserRedirect() {
      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";
      document.writeln("您的浏览设备为:");
      if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
        document.writeln("phone");
      } else {
        document.writeln("pc");
      }
    }
 
    browserRedirect();
  </script>

我用电脑上的浏览器,android设备,iphone,ipad均做过测试,此代码可行,各设备判断均正确。

分类   杂谈
字数   2851

博客标签    js判断客户端类型   javascript判断访问者类型   PC还是移动设备  

评论