js解决微信屏蔽内置浏览器的下载功能以及判断手机系统
2017-04-26 14:55
721 查看
今天一后台同事问我:为什么从App里面分享到微信好友时,在微信里没有发下载分享里的软件,而在浏览器中却可以?
于是我在微信公众号中试了一下,发现果然不可以下载。通过google 发现,原来是微信屏蔽了内置浏览器的下载功能。那么有没有解决办法呢? 肯定是有的。
1:判断发现是在微信中打开,给提示让其从右上角选择在浏览器中打开,这样的效果对于用户体验来说肯定是差的。
2:将要下载的app上传到腾讯应用宝中,这样就可以直接下载了,可以参考下面链接里的方法,非常实用。
https://www.zhihu.com/question/23925409
这样根据上文的链接就可以解决微信屏蔽内置浏览器的下载功能了。
但是我们如何判断用户分享的软件是在微信中打开呢?
只需要检测 navigator 对象中的
UserAgent 属性,该属性主要是返回由客户机发送服务器的 user-agent 头部的值,是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。因此我们只需要判断UserAgent中是否含有
MicroMessenger 字符。
在此需要说一下浏览器对象中的Navigator对象
navigator是在JavaScript中的一个独立的对象,他用于提供用户所使用的浏览器以及操作系统等信息,以navigator对象属性的形式来提供。也就是说Navigator
对象包含有关浏览器的信息。通过navigator中userAgent属性不仅可以判断是否在微信中打开,还可以判断手机的系统。
在微信开发者工具中,先查看一下Android机型输出的值:
现在切换到Iphone机型查看一下输出的值:
我们可以发现输出的字符串中会带有手机的机型,如Android、iPhone,这样我们就可以用 indexOf 来判断手机的机型了
于是我在微信公众号中试了一下,发现果然不可以下载。通过google 发现,原来是微信屏蔽了内置浏览器的下载功能。那么有没有解决办法呢? 肯定是有的。
1:判断发现是在微信中打开,给提示让其从右上角选择在浏览器中打开,这样的效果对于用户体验来说肯定是差的。
2:将要下载的app上传到腾讯应用宝中,这样就可以直接下载了,可以参考下面链接里的方法,非常实用。
https://www.zhihu.com/question/23925409
这样根据上文的链接就可以解决微信屏蔽内置浏览器的下载功能了。
但是我们如何判断用户分享的软件是在微信中打开呢?
只需要检测 navigator 对象中的
UserAgent 属性,该属性主要是返回由客户机发送服务器的 user-agent 头部的值,是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。因此我们只需要判断UserAgent中是否含有
MicroMessenger 字符。
var ua = navigator.userAgent; console.log(ua); if(ua.indexOf("MicroMessenger") > -1) { console.log("在微信中打开"); }
在此需要说一下浏览器对象中的Navigator对象
navigator是在JavaScript中的一个独立的对象,他用于提供用户所使用的浏览器以及操作系统等信息,以navigator对象属性的形式来提供。也就是说Navigator
对象包含有关浏览器的信息。通过navigator中userAgent属性不仅可以判断是否在微信中打开,还可以判断手机的系统。
在微信开发者工具中,先查看一下Android机型输出的值:
var ua = navigator.userAgent; console.log(ua);
现在切换到Iphone机型查看一下输出的值:
我们可以发现输出的字符串中会带有手机的机型,如Android、iPhone,这样我们就可以用 indexOf 来判断手机的机型了
var ua = navigator.userAgent; if (ua.indexOf('Android') > -1 || ua.indexOf('Linux') > -1) {//安卓手机 alert("安卓手机"); } else if (ua.indexOf('iPhone') > -1) {//苹果手机 alert("苹果手机"); }
相关文章推荐
- 微信扫描下载提示以及js判断用户手机系统
- js判断是否是微信内置浏览器以及自动关闭页面回到会话窗口
- JS判断设备以及区别不同浏览器(微信、手机等)
- Cocos2d-js Android手机上微信内置浏览器黑屏解决方法
- 如何判断微信内置浏览器(JS & PHP)
- 如何判断微信内置浏览器(JS & PHP)
- 判断手机系统类型以及判断是否在微信环境
- 如何判断微信内置浏览器(JS & .Net)
- js获取浏览器信息以及判断是否是微信
- js判断微信内置浏览器
- 如何判断微信内置浏览器(JS & PHP)
- js判断手机浏览器操作系统和微信浏览器的方法
- javascript判断是否是QQ或微信手机内置浏览器
- js判断手机浏览器操作系统和微信浏览器的方法
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- 解决IOS微信内置浏览器返回后不执行js脚本的问题
- 如何判断微信内置浏览器(JS & PHP)
- 对于微信内置浏览器中不能小窗播放视频原因的分析以及解决
- 如何判断微信内置浏览器(JS & PHP