如何判断微信内置浏览器,判断是否微信浏览器,js 判断微信浏览器
发布网友
发布时间:2022-04-23 04:09
我来回答
共3个回答
懂视网
时间:2022-04-07 11:39
这篇文章主要介绍了使用yii2判断请求是否来自微信内浏览器,需要的朋友可以参考下。
yii2判断是否来自微信浏览器
在iPhone下,返回
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2)
在Android下,返回
Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255)
不难发现微信浏览器为 MicroMessenger ,并且有版本号,也可以判断手机类型为iPhone还是Android
下面是使用原生php进行判断的方法:
public function is_weixin(){
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
return true;
}
return false;
}
if($this->is_weixin()){
// TODO
}else{
echo "请使用微信访问本网址。";
}
使用YII实现,yii请求组件提供了支持快速访问常用头的方法:
Yii::$app->request->userAgent; //返回 User-Agent 头。
public function is_weixin(){
if ( strpos(Yii::$app->request->userAgent, 'MicroMessenger') !== false ) {
return true;
}
return false;
}
if($this->is_weixin()){
// TODO
}else{
echo "请使用微信访问本网址。";
}
相关文章教程推荐:yii教程
热心网友
时间:2022-04-07 08:47
根据关键字 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>,
热心网友
时间:2022-04-07 10:05
你好,乐意为你解答此题:
如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是:
Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1
andriod上检测
Mozilla/5.0 (linux;u; android 4.0.3;zh-cn;htc t328w build/iml74k)applewebkit/534.30(kmtml,like gecko)version/4.0 mobile safari/534.30 MicroMessenger/5.0.3.354
所以通过识别 MicroMessenger 这个关键字来确定是否微信内置的浏览器了。
通过 JavaScript 判断:
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 ) {
// 微信浏览器,允许访问
echo "MicroMessenger";
// 获取版本号
preg_match('/.*?(MicroMessenger\/([0-9.]+))\s*/', $user_agent, $matches);
echo '
Version:'.$matches[2];
}else
// 非微信浏览器禁止浏览
echo "HTTP/1.1 401 Unauthorized";