• 今天在做隐藏微信右上角的分享按钮 百度查到的一串代码,挺好用的 <!--禁用微信分享按钮--> <script> function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); ...

    今天在做隐藏微信右上角的分享按钮

    百度查到的一串代码,挺好用的

    复制代码

    <!--禁用微信分享按钮-->
        <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>

    复制代码


    也看了一下别的

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

    作者:人在钱途

    为防找不到,就干脆拷贝了一份。

    以下为文章中的内容

     

     

    之前写了一篇关于这个WeixinJSBridge API的文章,文章地址 ,于是有很多网友都在过来咨询这个API的使用,在这里有必要跟大家再说一下:这个API在以前公布的部分接口被官方和谐掉很久 了, 比如一键关注、分享给好友、分享到朋友圈等。当然,你可能会发现微信官方推送的一些文章还能使用这些功能,粗略估计,官方是对这个API增加了白名单控 制,判断Referer,如果是微信官方的地址、或者是有合作的商家地址,则允许调用,否则,返回“access denied”!

    截止目前,笔者还没用发现还有什么办法能继续使用它!不过,官方和谐掉这个API其实也是说得过去的,因为在整个WebView的右上角,官方做了一个Navtive的按钮,点开以后,包括分享给好友、分享到朋友圈这样的功能都有,所以,官方也是在做一些引导。

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

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

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

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

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

        // 通过下面这个API隐藏右上角按钮

        WeixinJSBridge.call('hideOptionMenu');

    });

                 

    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

        // 通过下面这个API显示右上角按钮

        WeixinJSBridge.call('showOptionMenu');

    });

     //隐藏右上角三个点按钮。
    function hideMenu(){
        if(window.WeixinJSBridge){
           WeixinJSBridge.call('hideOptionMenu'); 
       }    
    }
     //显示右上角三个点按钮。
    function showMenu(){
        if(window.WeixinJSBridge){
            WeixinJSBridge.call('showOptionMenu');
        }
    }

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

        // 通过下面这个API隐藏底部导航栏

        WeixinJSBridge.call('hideToolbar');

    });

                

    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

        // 通过下面这个API显示底部导航栏

        WeixinJSBridge.call('showToolbar');

    });

     //隐藏右下面工具栏
    function hideTool(){
        if(window.WeixinJSBridge){
            WeixinJSBridge.call('hideToolbar');
        }
    }
     //显示右下面工具栏
    function showTool(){
        if(window.WeixinJSBridge){
            WeixinJSBridge.call('showToolbar');
        }
    }

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

    1

    2

    3

    4

    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

     

    微信API:https://github.com/zxlie/WeixinApi#user-content-10%E7%A6%81%E6%AD%A2%E7%94%A8%E6%88%B7%E5%88%86%E4%BA%AB

    展开全文
  • 两种方法  1: 加一段js代码 &lt;script type="text/javascript"&...document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu');...

    两种方法  

    1: 加一段js代码

    <script type="text/javascript">
    document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
        WeixinJSBridge.call('hideOptionMenu');
    });
    </script>

    2:利用微信js-sdk

    wx.config({
                debug: false,
                appId: 'appid',
                timestamp: timestamp,
                nonceStr: 'nonceStr',
                signature: 'signature',
                jsApiList: [
                     'chooseImage',
                      'uploadImage',
                      'hideMenuItems',
                ]
    });
    wx.ready(function(){ 
      wx.hideMenuItems({
    menuList: ['menuItem:share:appMessage',"menuItem:share:timeline"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
    	});
    })

    微信菜单项链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

    展开全文
  • 微信开发之禁止分享 既然是微信的分享功能,当然要用微信接口,微信接口在调用时有两种方式,但是前提是页面要引入微信的js-JDK 通过配置wx.config(),config:ok后,会执行wx.ready(function(){}),把我们需要...

    微信开发之禁止分享

    既然是微信的分享功能,当然要用微信接口,微信接口在调用时有两种方式,但是前提是页面要引入微信的js-JDK

    1. 方法一:通过配置wx.config()config:ok后,会执行wx.ready(function(){}),把我们需要用到的接口,在ready()中调用即可。
    //config的配置信息,需要后台给你
    wx.config({
            debug: false,
            appId: res.appid,// 必填,公众号的唯一标识
            timestamp: res.timestamp,// 必填,生成签名的时间戳
            nonceStr: res.nonceStr,// 必填,生成签名的随机串
            signature: res.signature,// 必填,签名
            jsApiList: [//所有要调用的 API 都要加到这个列表中 必填,需要使用的JS接口列表
            	'getLocation',
            	'hideOptionMenu',
            	'hideAllNonBaseMenuItem'
            ]
    });
    //配置成功以后config:ok
    wx.ready(function () {
         wx.checkJsApi({
             jsApiList: [ 'hideAllNonBaseMenuItem','getLocation','hideOptionMenu'],
             success: function (res) {
            	 if (res.checkResult.getLocation == false){
            		 alert('你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!');
            		 return;
            	 }
             }
     	 }); 
        
        //隐藏右上角菜单接口
         wx.hideOptionMenu();
         // 隐藏所有基础类
         wx.hideAllNonBaseMenuItem();
         wx.error(function(res){
            	alert("接口调取失败")
         });
    })
    

    效果如下:
    在这里插入图片描述
    2. 方法二 通过事件触发 直接执行wx.接口名

    	window.onload=function(){
                wx.hideOptionMenu()
            }
      		//如果通过第一种方式,前端需要先向后台发送请求,并拿到数据,才会执行到你要调用的微信接口AIP,
      		//这种方法不需要等待向后端发送请求获取数据再配置的事件和麻烦
      		//效果同上
    

    开发过程中遇到的问题,如果你有更好的方法,还请留言指教哦~~~

    发现IOS系统无效,更改方法如下:

      // 禁止分享,微信开发者工具不支持以下方法,本地测试的时候,需要先注释
    		document.addEventListener('WeixinJSBridgeReady', function () {
    				parent.WeixinJSBridge.call('hideOptionMenu')
    		}, false)
    		parent.WeixinJSBridge.call('hideOptionMenu')
    		//别人家的方法
    		//function onBridgeReady(){
    		//	WeixinJSBridge.call('hideOptionMenu')
    		//}
           // parent.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();
          //  }
    

    3 方法三

    上述方法二只能在内部不使用wx.config()时使用,否则,只要配置config,方法二,就会失效,其实方法三的原理就是监听$route,如果$route有变化,就执行方法一。

    	watch: {
          $route (to,from){
              this.getconfig()
          } 
        },
    
    展开全文
  • Weixin JS接口Weixin JS接口是微信为你的H5应用提供开放原生能力的接口,你的应用可以利用这些接口使用更多的微信原生能力和微信的操控能力, 以使得...隐藏微信中网页右上角按钮企业号在有需要时(如不需要用户分享...

    Weixin JS接口

    Weixin JS接口是微信为你的H5应用提供开放原生能力的接口,你的应用可以利用这些接口使用更多的微信原生能力和微信的操控能力, 以使得你的应用有更强大的智能,更好的用户体验。


    除了以下章节所描述的各类接口。拍照、上传图片、扫码、微信支付、地理位置上报等更多的接口已经或正在抓紧开放中,更多信息也请参考微信相关网站了解.


    隐藏微信中网页右上角按钮

    企业号在有需要时(如不需要用户分享某个页面),可在网页中通过JavaScript代码隐藏网页右上角按钮。

    生成缩略图出错:无法找到文件
    • 接口调用代码(JavaScript)
    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();
    }
    
    • 返回说明

    隐藏底部导航栏没有返回值。(需要显示请把hideOptionMenu换成showOptionMenu) 



    隐藏微信中网页底部导航栏

    企业号在有需要时(如认为用户在该页面不会用到浏览器前进后退功能),可在网页中通过JavaScript代码隐藏网页底部导航栏。

    底部导航栏.png

    • 接口调用代码(JavaScript)
    function onBridgeReady(){
       WeixinJSBridge.call('hideToolbar');
    }
    
    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();
    }
    
    • 返回说明

    隐藏底部导航栏没有返回值。(需要显示顶部导航栏,请把hideToolbar换成showToolbar) 



    网页获取用户网络状态

    为了方便开发者根据用户的网络状态来提供不同质量的服务,企业号可以在企业号内部的网页中使用JavaScript代码调用来获取网络状态。

    • 接口调用代码(JavaScript)
    function onBridgeReady(){
     WeixinJSBridge.invoke('getNetworkType',{},
     		function(e){
     	    	WeixinJSBridge.log(e.err_msg);
     	    });
    }
    
    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();
    }
    
    • 返回说明

    获取用户网络状态的返回值如下:

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



    关闭当前网页窗口

    在微信内置浏览器中被访问的网页,可使用该JavaScript代码关闭当前网页。

    主要使用场景: 微信用户在企业号会话中点击外链到达企业号的网页,在用户完成操作后,企业号(网页方)可调用此接口关闭当前网页窗口,使用户返回会话。

    • 接口调用代码(JavaScript)
    WeixinJSBridge.invoke('closeWindow',{},function(res){
    
        //alert(res.err_msg);
    
    });
    
    • 返回说明
    返回值说明
    err_msg关闭成功返回“close_window:ok”,关闭失败返回“close_window:error”。
    • 示例演示

    在微信中访问此链接:关闭当前网页窗口演示接口 

    展开全文
  • 今天测试提交一个关于分享朋友圈信息的Bug:作者的作品可以分享出去,而且分享出去后允许他人编辑。 经过测试确实如此,两种解决方案:1.根据角色进行区分;2.禁止朋友圈或好友分享; 因为工期紧张的关系,偷懒...

    今天测试提交一个关于分享朋友圈信息的Bug:作者的作品可以分享出去,而且分享出去后允许他人编辑。

    经过测试确实如此,两种解决方案:1.根据角色进行区分;2.禁止朋友圈或好友分享;

    因为工期紧张的关系,偷懒选择第二种解决方案。

    百度到这么一段代码

    <!--禁用微信分享按钮-->
        <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在以前公布的部分接口被官方和谐掉很久 了, 比如一键关注、分享给好友、分享到朋友圈等。当然,你可能会发现微信官方推送的一些文章还能使用这些功能,粗略估计,官方是对这个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

    在微信JSSDK说明文档中有关于按钮屏蔽使用等的说明:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

    第十条界面操作则是对于按钮的处理

    1
     

    在附录三中有所有涉及的菜单项列表

    wx.hideMenuItems({
        menuList: [] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
    });

    使用方式,直接将项隐藏的菜单项
    • 发送给朋友: "menuItem:share:appMessage"
    • 分享到朋友圈: "menuItem:share:timeline"
    • 分享到QQ: "menuItem:share:qq"
    • 分享到Weibo: "menuItem:share:weiboApp"
    • 收藏: "menuItem:favorite"
    • 分享到FB: "menuItem:share:facebook"
    • 分享到 QQ 空间/menuItem:share:QZone

    放入到menuList:[]括号中,具体拼接方式,大概是","

    原文地址:点击打开链接


    展开全文
  • 背景 vue项目-开发h5 防止个人信息隐私泄漏 要求html页面开发微信二次分享 只能... 微信开发API,保护类,传播类请查看目录3 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 解决...
  • 最近有个H5项目在微信浏览器上运行,在项目开发过程中有一个奇特的需求,就是打开这个项目网页的用户分享和 静止分享(就是有些页面要求要有分享【可自己定义标题、图片、链接】,而有些页面要求要不让用户分享)。...
  • 微信公众平台开发过程中,如果想屏蔽右上角的菜单的功能,可以直接在页面里面加上下面一段: document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {  WeixinJSBridge.call('...
  • 微信小程序分享功能知识点微信小程序分享功能知识点概览小程序与普通网页开发的区别小程序运行机制启动前台/后台状态小程序销毁WXS响应事件的动机微信分享需求描述程序流程FAQs同类小程序分享功能调研&...
  • 今天分享一个简单的问题,现在微信分享盛行,微信分享已经成为了一种很好的宣传销售渠道,自然,产品对于分享的要求也就高了,这两天正好参与这块的开发分享一下几个小的细节总结吧! 1.分享文案的传递: ...
  • 1、引入微信官方的js文件,将该js文件放到最前面引入: 2、初始化微信所需参数: //初始化微信  var url = null;  var jsapi_ticket = null;  var nonceStr = null;  var timestamp = null;  var signature = ...
  • 答主分享几个开发时的注意点:(JS-SDK)1.对于分享图标不显示问题:最好在html中引入图片文件(不需要显示的可以选择隐藏),之后按照微信js-sdk进行配置,配置时要注意图片域名要与网站域名一致,否则无法显示。 ...
  • 今天在做隐藏微信右上角的分享按钮 百度查到的一串代码,挺好用的 function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof WeixinJSBridge == "undefined") {
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 1、登录微信公众平台配置业务域名和JS接口安全域名(不带http://) 2、 服务器配置(如果服务器...微信公众号开发依赖包: &lt;!--添加微信依赖 begin--&gt; &lt;!-- https://mvnrepository.com...
  • 微信网页-隐藏分享

    2019-09-29 02:10:51
    在使用react开发微信网页的时候,发现直接在componentWillMount中调用微信隐藏分享的接口wx.hideOptionMenu();在第一次进入页面的时候,发现分享没有被隐藏掉. 进入其他页面后再返回,这时分享被隐藏了. 解决: wx....
  • 由于考虑兼容性问题 故要用两种方式去除: &lt;script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"&gt;... document.addEventListener('Weixi..
  • 最近领导让添加ios 微信分享视频的功能,之前做的只有微信分享本地图片的功能。 查看官网并没有找到答案,后来在其官网论坛中http://bbs.mob.com/thread-20938-1-1.html 这里面发现新版的sdk(v3.2.1)中才添加的...
  • 在app端 ,经常能看见 分享按钮的功能,(分享给朋友,分享到朋友圈,分享到QQ空间等等); https://open.weixin.qq.com/(微信开发平台),这需要到开放平台注册账号,绑定自己的应用,才能实现其权限;   在微信...
  • Java微信分享接口开发

    2018-04-24 21:25:38
    Java微信分享,步骤是1、根据当前的url,获取signature,nonceStr,timestamp 和appId。 2、通过signature,nonceStr,timestamp 和appId来配置微信 wx.config。 3、通过wx.ready实现微信分享功能。1、html端引入...
1 2 3 4 5 ... 20
收藏数 10,348
精华内容 4,139