js判断当前页面在移动设备还是在PC端中打开


Posted in Javascript onJanuary 06, 2016

本文实例讲解了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判断用户的浏览设备是移动设备还是PC

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

下面给出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均做过测试,此代码可行,各设备判断均正确。

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
用js实现的自定义的对话框的实现代码
Mar 21 Javascript
js以对象为索引的关联数组
Jul 04 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
Dec 25 Javascript
js取消单选按钮选中并判断对象是否为空
Nov 14 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
js中将String转换为number以便比较
Jul 08 Javascript
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
JavaScript实现SHA-1加密算法的方法
Mar 11 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
Nov 07 Javascript
JS动态计算移动端rem的解决方案
Oct 14 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
Nov 07 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
Feb 10 Javascript
js判断当前页面用什么浏览器打开的方法
Jan 06 #Javascript
javascript中闭包(Closure)详解
Jan 06 #Javascript
果断收藏9个Javascript代码高亮脚本
Jan 06 #Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
Jan 05 #Javascript
JavaScript实现简单的tab选项卡切换
Jan 05 #Javascript
javascript实现简单的全选和反选功能
Jan 05 #Javascript
Javascript原型链的原理详解
Jan 05 #Javascript
You might like
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
JavaScript更改class和id的方法
2008/10/10 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
python文件排序的方法总结
2020/09/13 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
.net面试题
2016/09/17 面试题
酒店总经理欢迎词
2014/01/08 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
学生实习证明范文
2014/09/28 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
Consul在linux环境的集群部署
2022/04/08 Servers