zoukankan      html  css  js  c++  java
  • 如何判断微信内置浏览器 MicroMessenger

    备注:基于网络上内容所有修改

    在进行微信公众账号开发的时候,其中很大一块是微站点的开发,有时候我们需要知道当前的浏览器是微信内置的浏览器,从而做一些事情。

    1、例如微信内置浏览器不显示底部导航,其他浏览器显示底部导航

    2、例如表单是否从微信内置浏览器提交

    3、等等

    那么如何判断呢?

    一、微信内置浏览器的 User Agent
    如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent。

    首先我们通过php内置的 $_SERVER["HTTP_USER_AGENT"] server数组来获取User Agent。

    iPhone 通过微信内置浏览器访问网页时得到 User Agent 是:

    1
    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

    Android 通过微信内置浏览器访问网页时得到 User Agent 是:

    1
    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 这个关键字来确定是否微信内置的浏览器了。
    通过 JavaScript 判断

    1
    2
    3
    4
    5
    6
    7
    8
    function is_weixin(){
        var ua = navigator.userAgent.toLowerCase();
        if(ua.match(/MicroMessenger/i)=="micromessenger") {
            return true;
         else {
            return false;
        }
    }

    通过 PHP 判断

    1
    2
    3
    4
    5
    6
    function is_weixin(){ 
        if strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
                return true;
        }    
        return false;
    }
  • 相关阅读:
    IPFS搭建&集群
    request.getInputStream() 流只能读取一次问题
    八、网页版消息推送SDK-WebSockets
    Spring boot 打包瘦身方法
    七、Mosquito 集群搭建
    org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryRAYPKeHKTYSNdzc1;charset=UTF-8' not supported
    RocketMQ Java 客户端实现
    RocketMQ 单机安装
    Vue.js面试题整理(转载)
    computed和watch的使用场景
  • 原文地址:https://www.cnblogs.com/2019gdiceboy/p/11004982.html
Copyright © 2011-2022 走看看