微信开发-隐藏微信浏览器顶部菜单
今天测试提交一个关于分享朋友圈信息的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:[]括号中,具体拼接方式,大概是","
微信开发-隐藏微信浏览器顶部菜单相关推荐
- php 微信 语音,PHP语言微信开发:微信录音临时转永久存储
本文主要向大家介绍了PHP语言微信开发:微信录音临时转永久存储,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效.就 ...
- 微信开发:微信js_sdk 分享,前端部分(二)
微信开发:微信js-sdk前端分享,代码如下: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"> ...
- 微信鉴权服务器地址,微信开发之微信授权登录
本篇教程探讨了微信开发之微信授权登录,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作, ...
- 微信开发 --- 调用微信上传图片接口,并保存到自己的服务器
微信开发 - 调用微信上传图片接口,并保存到自己的服务器 整体思路是这样的: 1.先把手机上的图片上传到微信服务器,然后返回一个图片ID 2.在通过后台根据ID从微信后台拿到流,保存到服务器 前几个步 ...
- 微信开发(三)创建菜单
文章作者:松阳 本文出自 阿修罗道,禁止用于商业用途,转载请注明出处. 原文链接:http://blog.csdn.net/fansongy/article/details/43406073 widt ...
- 【微信开发】微信开发 之 开启开发模式
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20494177 . GitHub源码位置 : -- HT ...
- 微信开发,微信开发者平台
微信小程序 小程序介绍 微信小程序是一种全新的连接用户端与服务端的方式. 小程序可以在微信内被便捷地获取和传播. 小程序具有出色的用户体验. ###为什么要学习小程序 微信小程序开发成本低.使用方便. ...
- 【微信开发】微信公众号开发 之 编辑模式使用
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20306735 . . 本人 微信公众账号(订阅号) : ...
- 关于微信开发与微信支付更新
1.)微信开发一般就是看文档,按部就班调用API就行,推荐一些SDK .NET https://github.com/JeffreySu/WeiXinMPSDK JAVA http://git.osc ...
最新文章
- Openfiler 2.3配置及Win2k8 iSCSI应用系列之二
- 多个项目怎么配置到服务器上,多个项目怎么配置到服务器
- 在VUE中利用MQTT协议实现即时通讯
- uva 10716——Evil Straw Warts Live
- 别人7天乐,运维还苦逼值班?
- delphi控件切图界面闪烁_一份最详尽全面的UI界面切图命名规范
- Java笔记-JNI的基本使用(Java调用C++的dll)
- Apache Commons Codec 1.7 发布
- 比特币javascript私钥_javascript – 使用bitcoinjs发送比特币交易
- 如何在 Mac 上轻松编辑、批注、签名和标记 PDF?
- 【Python】实现商品信息管理系统(界面版,附带数据库)
- Vue事件修饰符——.prevent 和.passive
- Linux 任务计划的三种实现方式(at、batch、cron)
- 基于FPGA的CYUSB3014双向通信实验
- 为何应用型本科(机器人工程等专业)大量学生选择考研
- 软件算法能申请专利吗
- HTTP强缓存和协议缓存
- SpringBoot 自定义实现一个启动器starter 教程。
- [JZOJ5410]【NOIP2017提高A组集训10.22】小型耀斑 (口胡)
- thinkphp源码讲解——Model.class.php