2 zjl199303 zjl199303 于 2016.09.09 09:11 提问

移动端开发 区分浏览器,不同浏览器获取网络状态的问题
  1. 区分浏览器:微信,uc,QQ,谷歌 网上常见的区分手机浏览器的方法不对。
 var u = navigator.userAgent, app = navigator.appVersion;
    if(u.indexOf('Mac') > -1){
        return true;
    }else {
        return false;
    }
  这里qq 浏览器也不识别,会报错。
if(navigator.userAgent.indexOf('MQQBrowser') > -1){ }
    这里可以区分出QQ,谷歌。但是这两个浏览器又怎么区分呢?

2,获取当前网络状态:wifi 非wifi

     var netLink = navigator.connection.type;
    if(netLink == 2 || netLink == "wifi"){   }
微信,QQ浏览器打开都会报错,他不支持  navigator.connection 这个API.
 还有什么办法可以在QQ,谷歌等浏览器获取当前的网络状态吗?

1个回答

showbo
showbo   Ds   Rxr 2016.09.09 09:26

1,return要写入函数里面,不在函数里面你这个代码直接执行当然报错。没什么区别,都是webkit核心的
2,浏览器没提供无法获取,使用某个特定属性前需要先判断是否支持再调用

var netLink = navigator.connection&&navigator.connection.type;

zjl199303
zjl199303 2.navigator.connection 这个就会报错,然后这句函数后面的js就不能执行了。这个我测着暂时是只有QQ,谷歌不支持。所以需要判断出这两个浏览器。主要是有些字体在这两个浏览器的有点偏上或偏下,也需要专门在设置样式。
接近 2 年之前 回复
zjl199303
zjl199303 1.return 是写在函数里的。我是用 if(ua.match(/MicroMessenger/i) == 'micromessenger'){} 判断出微信的。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
微信js浏览器查看网络状态
window.onload = function() { document.addEventListener("WeixinJSBridgeReady", onWeixinReady, false); } function onWeixinReady() { WeixinJSBridge.invoke('getNetworkType',{}, function(e){ WeixinJSBr
移动端开发遇到的问题(全)
安卓浏览器看背景图片,有些设备会模糊。用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960640分辨率,在网页里只显示了480320,这devicePixelRatio=2。现在android比较乱,有1.5的,有2的也有3的。 想
javascript判断不同浏览器和操作系统
web页面在不同浏览器和操作系统的识别 var systemVersion=""; function brover(){        varbrowser = {            versions: function () {                var u = navigator.userAgent, app =navigator.appVersion;    
使用JS在浏览器中判断当前网络连接状态的几种方法
使用JS在客户端判断当前网络状态 http://miaoyunze.com/2017/05/04/network-status-check/?utm_source=tuicool&utm_medium=referral 1. navigator.onLine 2. ajax请求 3. 获取网络资源 4. window.addEventListener()
Java系统中同一台电脑不同浏览器显示内容不一样
Java系统中同一台电脑不同浏览器显示内容不一样之前有个Java系统中的js页面修改之后浏览器不能及时的更新更改内容, 所以在网上查找原因, 有人说是因为浏览器中的缓存过多导致的, (之前公司电脑太长时间没关机了, 快俩星期了吧) 所以我就讲浏览器清理了全部缓存, 后来浏览器打开那个系统页面就不正常了, 同时我也使用搜狗浏览器, 而搜狗浏览器就显示很正常, 然后就找了许多网络上说关于这类型的问题,
有关不同浏览器不同版本的css以及js计算高度的问题
1.input在所有浏览器以及所有的版本中,都是定义了高度,然后再定义padding或者border值,这时候都会撑开,高度是本身的高度在padding值和border值 2.select在goole浏览器中以及ie8以上浏览器中,定义的height值包括padding值和border值 3.select在ie8及ie8一下浏览其中,select和input一样,都不包括padding和bor
Session是如何识别一个用户(浏览器)的?
Session是如何识别一个用户(浏览器)的?1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Sessi
window.navigator.userAgent用来区分设备和浏览器
window.navigator.userAgent.toLowerCase()
同一浏览器、同一域、同一时间、多个页面选项卡共用同一session,区分不同页面选项卡的解决方法
在web开发中,session机制常常用于区分用户身份,但session也有无能为力之处,设想一个情形:     【多个用户】分别使用【不同选项卡页面】在【同一会话时间】公用【同一】浏览器,【登录同一应用】,此时服务端使用session将【无法区分】不同选项卡页面。      注意,是同一电脑的同一浏览器不是不同浏览器。     这个情形可能存在吗?当然可能,比如一个
在不同浏览器用不同css 解决IE和其他浏览器问题
本身就是个做网站的.几乎每做一个站都要遇到浏览器的兼容问题.虽然客户不去要求那么多,但是我还喜欢都做到最好. 至少在IE6,IE7和火狐这三个浏览器做到兼容.现在div+css又这么流行.对css的使用要求就更高了.大家都知道无论你写的css多么符合标准.总是有的css语句不被某个浏览器支持.下面就一起分享一下在不同的浏览器里用不同的css1 :javascript 判断不同的