WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

JS判断网页是否在微信中打开

更新时间:2015-06-08 12:36 作者:佚名点击:
现在微信的开放程序已经可以说超过了qq了,我们今天来判断一下网页是不是在微信中打开了,下面一起来和小编看看吧,希望例子对各位有帮助。

最近在研究微信的二次开发,因为要达到只能用微信的窗口打开页面,在网上找了很多资料都没有用JS写的,因为是html页面,所以只能用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 X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11d201 MicroMessenger/5.3。根据关键字 MicroMessenger 来判断是否是微信内置的浏览器。判断函数如下:

代码如下:

<script type="text/javascript">

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

</script>

例子

<!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>


通过测试完全通过,无论是android 还是iphone,ipad 都可以,当然我们除了用js来判断之外,用其它语言来判断就更简单了,比如PHP

function is_weixin(){
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;
}
return false;
}
分析就到这来,希望能帮助到大家,本人在百度上搜索“JS限制微信打开页面”,“微信浏览器HTTP_USER_AGENT判断” 各种关键字搜索都没搜到想要的答案,PHP版本倒是很多,就是没有找到JS版本的。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容