网页前端设计

http://www.86y.org

搜索文章

js判断网页是不是在微信内打开

用声音读出全文关注我吧
 2015/10/12 14:49:09 阅读次数:9375

js判断网页是不是在微信内打开

做微信站点的开发的时候,我们有需求只允许微信来访问网页。
可行的一种方法是按照浏览器UA来判断是否是微信。

下面是我抓取到的UA:

Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1 NetType/WIFI

我们可以通过MicroMessenger关键词来判断是否是微信了。

方法如下:

js方法

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

php 方法

function is_weixin(){
	if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
		return true;
	}
	return false;
}

useragent:

用户代理 User Agent,是指浏览器,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好。
  在X.400电子系统中,用户代理是一种对数据打包、创造分组头,以及编址、传递消息的部件。
  用户代理并不是仅指浏览器,还包括搜索引擎。

  1、用户代理是指浏览器,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好。用户代理的能力和偏好可以认为是元数据或用户代理的硬件和软件的特性和描述;
  2、SIP终端系统称为用户代理,即UA(UserAgent),含用户代理客户机UAC(UserAgentClient)和用户代理服务器UAS(UserAgentserver)两部分;
  3、SIP将终端用户称为用户代理,请求方称为用户代理客户,被请求方称为用户代理服务器。UAC负责发起SIP呼叫请求,UAS接收UAC的请求并负责对其做出响应(接受、拒绝或重定向)。
  为什么所有浏览器的userAgent都带Mozilla
  Mozilla是Netscape的吉祥物,也是Netscape Navigator浏览器使用的内部开发代号。由于Netscape早期的影响力,直到今天,所有浏览器包括IE,向Web服务器报告自己的浏览器标识的 时候,都以 “Mozilla”开头,表明自己是Mozilla兼容的。


大家有什么问题或技术上的想法可以在此与大家分享,也可以加入前端爱好者QQ群(141999928)一起学习进步:【幸凡前端技术交流群】
0

如果您觉得本文的内容对您的学习有所帮助,捐赠与共勉,支付宝(左)或微信(右)

阅读全文内容关闭