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中打开还是移动设备中打开的更多相关文章

  1. js 判断浏览器是pc端还是移动端

    if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { //说明是移动端 } else { //说明是pc端 }

  2. js判断浏览器种类以及版本号(从jquery1.8中抠出来的)

    var myLibs = { // Use of jQuery.browser is frowned upon. // More details: http://api.jquery.com/jQue ...

  3. js判断页面在pc端打开还是移动端打开

    js判断页面在pc端打开还是移动端打开,分别跳转不同的index.html window.addEventListener('load', function() { // true为手机,false为 ...

  4. 判断浏览器是pc端还是手机端

    1. 判断浏览器是pc端还是手机端 <script type="text/javascript"> var browser = { versions: function ...

  5. js判断浏览器类型 js判断ie6不执行

    js判断浏览器类型 $.browser  对象 $.browser.version 浏览器版本 var binfo = ''; if ($.browser.msie) { binfo = " ...

  6. Js 判断浏览器类型整理

    判断原理 JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性 ...

  7. JS判断浏览器类型和详细区分IE各版本浏览器

    今天用到JS判断浏览器类型,于是就系统整理了一下,便于后期使用. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...

  8. JQuery或JS判断浏览器内核版本号以及是否支持W3C盒子模型

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support .在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

  9. JS判断浏览器类型,JS判断客户端操作系统

    JS判断浏览器类型 function judge(){ var browser = { versions: function() { var u = navigator.userAgent, app ...

随机推荐

  1. js-转大小写

    .toLowerCase()转小写.toUpperCase();转大写

  2. 使用Pushlet将消息从服务器端推送到客户端

    使用Pushlet来实现服务器端向客户端推送信息 1.   实现方式: 有两种实现方式: 1.         通过配置文件来实现定时的从服务器端向客户端推送信息 2.         通过API主动 ...

  3. 转:Visual Studio进行Web性能测试- Part III

    原文作者:Ambily.raj 对于一个多用户的应用程序,性能是非常重要的.性能不仅是执行的速度,它包括负载和并发方面.Visual Studio是可以用于性能测试的工具之一.Visual Studi ...

  4. PAT (Advanced Level) 1078. Hashing (25)

    二次探测法.表示第一次听说这东西... #include<cstdio> #include<cstring> #include<cmath> #include< ...

  5. js正则之零宽断言

    我们学到的正则表达式匹配,都是有“宽度”的,使用 \w+. 匹配下面文本,会将 . 一同匹配: regular. expression. 如果不想匹配符号,只匹配一个位置,就要用到“零宽断言”(匹配宽 ...

  6. 多元线性回归----Java简单实现

    http://www.cnblogs.com/wzm-xu/p/4062266.html 多元线性回归----Java简单实现   学习Andrew N.g的机器学习课程之后的简单实现. 课程地址:h ...

  7. 图解SQL的各种连接join

    对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...

  8. 浏览器兼容问题 chrome iframe location href

    报了个错 var dt2=new Date(d2Arr[0],d2Arr[1],d2Arr[2]); if(dt1>dt2){//比较日期 alert("开始日期不能晚于结束日期!&q ...

  9. c#之从服务器下载压缩包,并解压

    项目的配置文件为了和服务器保持一致,每次打包时都从网上下载配置文件,由于下载的是zip压缩包,还需要解压,代码如下: using ICSharpCode.SharpZipLib.Zip; using ...

  10. mysql基础-- 一条请求执行多条SQL语句

    最近做一个数据库初始化工具的时候发现了这个问题,就是在一个Statement中执行一条SQL语句的时候可以正确执行,如果同时执行多条,就会报SQL语法错误,伤透了脑筋. 经过网上查找,发现有两种解决办 ...