【javascript】js 判断微信浏览器

上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此
apk。然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了
apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,否则下载不了
apk。那么该如何判断用户是否是用微信浏览器呢?

我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows
NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154
Safari/537.36,那么我们也可以通过该方法来获取微信内置浏览器的相关信息:Mozilla/5.0 (iPhone; CPU iPhone OS
7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11d201
MicroMessenger/5.3。根据关键字 MicroMessenger 来判断是否是微信内置的浏览器。判断函数如下:


function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == ‘micromessenger‘){
return true;
}else{
return false;
}
}

demo:


<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>判断是否是微信内置浏览器</title>
</head>
<body>
<h1>如果用微信浏览器打开可以看到下面的文字</h1>
<p></p>
</body>
</html>
<script type="text/javascript">
window.onload = function(){
if(isWeiXin()){
var p = document.getElementsByTagName(‘p‘);
p[0].innerHTML = window.navigator.userAgent;
}
}
function isWeiXin(){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == ‘micromessenger‘){
return true;
}else{
return false;
}
}
</script>

说明:可以将上面的 demo 放到服务器上,然后生成个二维码扫一扫。

【javascript】js 判断微信浏览器,布布扣,bubuko.com

时间: 2024-11-03 22:29:12

【javascript】js 判断微信浏览器的相关文章

js 判断微信浏览器(转)

最近做很多HTML5的项目,很多页面会通过微信微博等SNS分享出去.在分享页面上提供公司APP的下载.但是在很多应用的浏览器中,点击下载链接无法下载应用.那么针对这些浏览器我们需要给用户提示从safari或者系统自带的浏览器打开分享页面.通过js就可以判断当前页面是在什么浏览器打开的. 以下是一段示例代码,注释中表明了通过JS如何判断是否在微信浏览器打开,是否在QQ空间浏览器,是否在新浪微博打开.当然可以做得更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是

js 判断微信浏览器

上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了 apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页 面,否则下载不了 apk.那么该如何判断用户是否是用微信浏览器呢? 我们知道 js 可以通过 window.navigator

js判断微信浏览器

如何判断用户是用微信浏览器呢? js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36,那么我们也可以通过该方法来获取微信内置浏览器的相关信息:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS

[JavaScript] js判断是否在微信浏览器中打开

用JS来判断了,经过查找资料终于实现了效果, function is_weixn(){     var ua = navigator.userAgent.toLowerCase();     if(ua.match(/MicroMessenger/i)=="micromessenger") {         return true;     } else {         return false;     } } 通过测试完全通过,无论是android 还是iphone,ipad

js判断手机浏览器

最新浏览器识别合并. demo:http://v.qq.com    ->   http://v.qq.com/h5 http://v.qq.com/    ->   http://v.qq.com/h5 http://v.qq.com/h5    ->   http://v.qq.com/h5 <script type="text/javascript"> (function(W){ if(!/\/h5/.test(W.location.pathname

javascript如何判断当前浏览器是否支持cookie

javascript如何判断当前浏览器是否支持cookie:浏览器在默认状态下都是支持cookie的,但是也可以人为的禁用.代码如下: function check() { if(window.navigator.cookieEnabled) { return true; } else { alert("浏览器已经禁用cookie"); return false; } } 上面的函数可以实现验证cookie的效果.cookieEnabled属性可以参阅Navigator对象的cooki

笔记:1.css样式,最前边加 @charset &quot;utf-8&quot;;是为什么2.js判断各种浏览器的方法

表明CSS文件的页面编码为UTF-8..如果这个CSS的文件编码也是UTF-8的话..那么在浏览器中看到的CSS文件的页面中中文的注释或者中文字体就可以正确显示为中文,如果CSS的文件编码和页面不一致的话.那么这个CSS文件的中文则会显示为乱码.特别是定义中文字体的时候.就不能正确识别.其他则没有多大影响. GB2312编码适用于汉字处理.汉字通信等系统之间的信息交换,通行于中国大陆:新加坡等地也采用此编码.中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312.var Browser_N

javascript (js)判断手机号码中国移动、中国联通、中国电信

原文:javascript (js)判断手机号码中国移动.中国联通.中国电信 我国使用的手机号码为11位,其中各段有不同的编码方向:前3位———网络识别号:第4-7位———地区编码:第8-11位———用户号码. 中国移动134.135.136.137.138.139.150.151.152.157.158.159.147.182.183.184.187.188.178(4G) 中国联通130.131.132.155.156.185.186.145(属于联通无线上网卡号段).176 (4G) 中国

360极速浏览器UA怪异以及如何用js判断360浏览器

本文最后一次更新于7个月前,文章内容可能略有出入.若发现文章中有错误之处,可以留言评论告诉作者. 1.360极速浏览器UA因域名不同而异 今天在写一个判断浏览器.浏览器版本.操作系统.操作系统版本.浏览器外壳的js,去http://hao.360.cn/sethomepage.html网站看看他们的js是如何写的,始终不知道他们是如何通过js来判断浏览器是360极速的,这不看不知道,一看吓一跳. 在http://hao.360.cn/sethomepage.html这个网址访问的时候,获得浏览器