zoukankan      html  css  js  c++  java
  • 关于微信的禁用右上角

    查到一篇文章:http://www.2cto.com/weixin/201511/451592.html

    <!--禁用微信分享按钮-->
        <script>
            function onBridgeReady() {
                WeixinJSBridge.call('hideOptionMenu');
            }
    
            if (typeof WeixinJSBridge == "undefined") {
                if (document.addEventListener) {
                    document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
                } else if (document.attachEvent) {
                    document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
                    document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
                }
            } else {
                onBridgeReady();
            }
        </script>

    简略的摘记

    WeixinJSBridge API:这个API在以前公布的部分接口被官方和谐掉很久了, 比如一键关注、分享给好友、分享到朋友圈等。当然,你可能会发现微信官方推送的一些文章还能使用这些功能,粗略估计,官方是对这个API增加了白名单控制,判断Referer,如果是微信官方的地址、或者是有合作的商家地址,则允许调用,否则,返回“access denied”!官方和谐掉这个API其实也是说得过去的,因为在整个WebView的右上角,官方做了一个Navtive的按钮,点开以后,包括分享给好友、分享到朋友圈这样的功能都有,所以,官方也是在做一些引导。

    当然,WeixinJSBridge这个API也并不是所有功能都被和谐掉了,相反,有好几个功能还是相当有用的,可以正常使用,比如:

    1、隐藏微信网页右上角的按钮(...按钮):开发者可以用这个功能来禁止当前页面被分享

    2、隐藏微信网页底部的导航栏(比如前进后退和刷新):这个导航栏会占用一定的区域,开发者可以认为用户不会用到它,将其隐藏掉

    3、在微信网页中获取用户的网络状态:开发者可以利用这个API获得用户的网络状态,并提供不同的服务,比如视频类,在wifi下提供高清视频流,在2g网络下提供普通清晰视频流等等

    下面分别通过简单的几行代码,说明这几个API的用法:

    1、隐藏微信网页右上角的按钮

    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
        // 通过下面这个API隐藏右上角按钮
        WeixinJSBridge.call('hideOptionMenu');
    });
                
    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
        // 通过下面这个API显示右上角按钮
        WeixinJSBridge.call('showOptionMenu');
    });

    2、隐藏微信网页底部的导航栏

    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
        // 通过下面这个API隐藏底部导航栏
        WeixinJSBridge.call('hideToolbar');
    });
               
    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
        // 通过下面这个API显示底部导航栏
        WeixinJSBridge.call('showToolbar');
    });

    3、在微信网页中获取用户的网络状态

    WeixinJSBridge.invoke('getNetworkType',{},function(e){
        // 在这里拿到e.err_msg,这里面就包含了所有的网络类型
        alert(e.err_msg);
     });

    e.err_msg的取值如下所示:

     network_type:wifi wifi网络 2 network_type:edge 非wifi,包含3G/2G 3 network_type:fail 网络断开连接 4 network_type:wwan 2g或者3g 

    可以戳这个链接测试一下:http://www.baidufe.com/demo/wxjsapi2.html

  • 相关阅读:
    Ubuntu各种indicator汇总
    python 命令行参数获取
    python 内置方法的时间复杂度
    SkipList 跳表
    HBase Snapshot功能介绍
    HBase内部操作日志说明
    HBase参数配置及说明
    HBase 在HDFS 上的目录树
    第一章 重构,第一个案例
    shell来start、stop、restart应用程序模板
  • 原文地址:https://www.cnblogs.com/llllpzyy/p/7001347.html
Copyright © 2011-2022 走看看