今天测试提交一个关于分享朋友圈信息的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:[]括号中,具体拼接方式,大概是","

原文地址:点击打开链接

微信开发-隐藏微信浏览器顶部菜单相关推荐

  1. php 微信 语音,PHP语言微信开发:微信录音临时转永久存储

    本文主要向大家介绍了PHP语言微信开发:微信录音临时转永久存储,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效.就 ...

  2. 微信开发:微信js_sdk 分享,前端部分(二)

    微信开发:微信js-sdk前端分享,代码如下: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"> ...

  3. 微信鉴权服务器地址,微信开发之微信授权登录

    本篇教程探讨了微信开发之微信授权登录,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作, ...

  4. 微信开发 --- 调用微信上传图片接口,并保存到自己的服务器

    微信开发 - 调用微信上传图片接口,并保存到自己的服务器 整体思路是这样的: 1.先把手机上的图片上传到微信服务器,然后返回一个图片ID 2.在通过后台根据ID从微信后台拿到流,保存到服务器 前几个步 ...

  5. 微信开发(三)创建菜单

    文章作者:松阳 本文出自 阿修罗道,禁止用于商业用途,转载请注明出处. 原文链接:http://blog.csdn.net/fansongy/article/details/43406073 widt ...

  6. 【微信开发】微信开发 之 开启开发模式

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20494177 . GitHub源码位置 : -- HT ...

  7. 微信开发,微信开发者平台

    微信小程序 小程序介绍 微信小程序是一种全新的连接用户端与服务端的方式. 小程序可以在微信内被便捷地获取和传播. 小程序具有出色的用户体验. ###为什么要学习小程序 微信小程序开发成本低.使用方便. ...

  8. 【微信开发】微信公众号开发 之 编辑模式使用

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20306735 . . 本人 微信公众账号(订阅号) : ...

  9. 关于微信开发与微信支付更新

    1.)微信开发一般就是看文档,按部就班调用API就行,推荐一些SDK .NET https://github.com/JeffreySu/WeiXinMPSDK JAVA http://git.osc ...

最新文章

  1. Openfiler 2.3配置及Win2k8 iSCSI应用系列之二
  2. 多个项目怎么配置到服务器上,多个项目怎么配置到服务器
  3. 在VUE中利用MQTT协议实现即时通讯
  4. uva 10716——Evil Straw Warts Live
  5. 别人7天乐,运维还苦逼值班?
  6. delphi控件切图界面闪烁_一份最详尽全面的UI界面切图命名规范
  7. Java笔记-JNI的基本使用(Java调用C++的dll)
  8. Apache Commons Codec 1.7 发布
  9. 比特币javascript私钥_javascript – 使用bitcoinjs发送比特币交易
  10. 如何在 Mac 上轻松编辑、批注、签名和标记 PDF?
  11. 【Python】实现商品信息管理系统(界面版,附带数据库)
  12. Vue事件修饰符——.prevent 和.passive
  13. Linux 任务计划的三种实现方式(at、batch、cron)
  14. 基于FPGA的CYUSB3014双向通信实验
  15. 为何应用型本科(机器人工程等专业)大量学生选择考研
  16. 软件算法能申请专利吗
  17. HTTP强缓存和协议缓存
  18. SpringBoot 自定义实现一个启动器starter 教程。
  19. [JZOJ5410]【NOIP2017提高A组集训10.22】小型耀斑 (口胡)
  20. thinkphp源码讲解——Model.class.php

热门文章

  1. python负数取模_负数的取模运算
  2. 【Tomcat简介】
  3. 【Scratch-外观模块】漩涡特效指令
  4. uniapp小程序报错Property or method item is not defined on the instance but referenced during rende
  5. 《联邦学习》——个人笔记(四)
  6. 三款『正则表达式』可视化工具
  7. matlab 矩阵 幂运算符,matlab矩阵的乘方power运算
  8. 小程序踩坑日志(一)
  9. Ueditor自定义开发地图功能
  10. Element Table 反选