现在微信的开放程序已经可以说超过了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版本的。
|