隐藏底部导航菜单
之前写了⼀篇关于这个WeixinJSBridge API的⽂章,⽂章地址,于是有很多⽹友都在过来咨询这个API的使⽤,在这⾥有必要跟⼤家再说⼀下:这个API在以前公布的部分接⼝被官⽅和谐掉很久了,⽐如⼀键关注、分享给好友、分享到朋友圈等。当然,你可能会发现官⽅推送的⼀些⽂章还能使⽤这些功能,粗略估计,官⽅是对这个API增加了⽩名单控制,判断Referer,如果是官⽅的地址、或者是有合作的商家地址,则允许调⽤,否则,返回“access denied”!
截⽌⽬前,笔者还没⽤发现还有什么办法能继续使⽤它!不过,官⽅和谐掉这个API其实也是说得过去的,因为在整个WebView的右上⾓,官⽅做了⼀个Navtive的按钮,点开以后,包括分享给好友、分享到朋友圈这样的功能都有,所以,官⽅也是在做⼀些引导。
当然,WeixinJSBridge这个API也并不是所有功能都被和谐掉了,相反,有好⼏个功能还是相当有⽤的,可以正常使⽤,⽐如:
1、隐藏⽹页右上⾓的按钮(...按钮):开发者可以⽤这个功能来禁⽌当前页⾯被分享
2、隐藏⽹页底部的导航栏(⽐如前进后退和刷新):这个导航栏会占⽤⼀定的区域,开发者可以认为⽤户不会⽤到它,将其隐藏掉
3、在⽹页中获取⽤户的⽹络状态:开发者可以利⽤这个API获得⽤户的⽹络状态,并提供不同的服务,⽐如视频类,在wifi下提供⾼清视频流,在2g⽹络下提供普通清晰视频流等等
下⾯分别通过简单的⼏⾏代码,说明这⼏个API的⽤法:
1、隐藏⽹页右上⾓的按钮
[java]
1. document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
2.    // 通过下⾯这个API隐藏右上⾓按钮
3.    WeixinJSBridge.call('hideOptionMenu');
4. });
5.
6. document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
7.    // 通过下⾯这个API显⽰右上⾓按钮
8.    WeixinJSBridge.call('showOptionMenu');
9. });
2、隐藏⽹页底部的导航栏
[java]
1. document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
2.    // 通过下⾯这个API隐藏底部导航栏
3.    WeixinJSBridge.call('hideToolbar');
4. });
5.
6. document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
7.    // 通过下⾯这个API显⽰底部导航栏
8.    WeixinJSBridge.call('showToolbar');
9. });
3、在⽹页中获取⽤户的⽹络状态
[java]
1. WeixinJSBridge.invoke('getNetworkType',{},function(e){
2.    // 在这⾥拿到e.err_msg,这⾥⾯就包含了所有的⽹络类型
3.    _msg);
4.  });
<_msg的取值如下所⽰:
[java]
1. network_type:wifi wifi⽹络 2 network_type:edge ⾮wifi,包含3G/2G 3 network_type:fail ⽹络
[java]
1. 断开连接 4 network_type:wwan 2g或者3g