45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > javascript >

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

电脑软硬件应用网 45IT.COM 时间: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%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识