文档章节

JS判断是否在微信浏览器打开

小小费FF
 小小费FF
发布于 2016/11/28 14:13
字数 297
阅读 2
收藏 0
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") {
                //在微信中打开
        }
        if (ua.match(/WeiBo/i) == "weibo") {
                //在新浪微博客户端打开
        }
        if (ua.match(/QQ/i) == "qq") {
                //在QQ空间打开
        }
        if (browser.versions.ios) {
                //是否在IOS浏览器打开
        } 
        if(browser.versions.android){
                //是否在安卓浏览器打开
        }
} else {
        //否则就是PC浏览器打开
}

其实你只需要在用手机qq打开一个页面弹出navigator.userAgent就知道,你就会看到有个MQQBrowser标识,navigator.userAgent.indexOf("MQQBrowser")>-1 判断一下就ok了。

u.match(/\sQQ/i) == " QQ"

本文转载自:http://www.cnblogs.com/leejersey/p/4704837.html

共有 人打赏支持
小小费FF
粉丝 0
博文 12
码字总数 4980
作品 0
北京
私信 提问
微信浏览器中支付宝跳转被屏蔽

H5页面在微信浏览器中,点击支付宝付款时候,网页跳转被微信屏蔽...会暴露表单信息,只能长按此表单在别的浏览器中打开支付。 js可以获取浏览器的userAgent,请问是否可以通过js判断当是微信 ...

remielxf
2015/07/30
12.6K
13
JavaScript零基础入门——(十四)JavaScript的BOM

JavaScript零基础入门——(十四)JavaScript的BOM 大家好,欢迎回到我们的JavaScript零基础入门。上一节课我们了解了JavaScript的事件,这一节课,我们以JavaScript的BOM,来结束JavaScrip...

JandenMa
2018/07/08
0
0
一网打尽Javascript中的数据类型

打捞工具 运算符可以获取值得数类型 运算符可以判断左右两边值是否相等,不建议使用,因为Javascript中对值相等的判断挺恶心 运算符是判断左右两边值和类型是否都相等,强烈建议使用这个,精...

慕课熊猫
2018/08/16
0
0
js怎么判断手机端的浏览器

比如通过QQ或者微信内置的浏览器打开链接 不能打开多个页面 而其他下载的手机浏览器就可以同时打开多个窗口 是不是浏览器的内核不同呢? 如果不同我该怎么通过js代码判断呢? 本来我写了一个图...

liuyan__
2015/10/10
2.9K
6
darkwing/chat-with-girlfriend

chat-with-girlfriend 本案例是一个模拟微信的问答小游戏 CSS 部分 使用 布局 注意不能主页面不能出现滚动条 使用 动画 JavaScript 部分 判断使用环境 首先判断是否是手机,要求使用移动端访...

darkwing
2018/05/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
0
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
2
0
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部