微信WeixinJSBridge API(屏蔽右上角按鈕等)


之前寫了一篇關於這個WeixinJSBridge API的文章,文章地址 ,於是有很多網友都在過來咨詢這個API的使用,在這里有必要跟大家再說一下:這個API在以前公布的部分接口被官方和諧掉很久了, 比如一鍵關注、分享給好友、分享到朋友圈等。當然,你可能會發現微信官方推送的一些文章還能使用這些功能,粗略估計,官方是對這個API增加了白名單控制,判斷Referer,如果是微信官方的地址、或者是有合作的商家地址,則允許調用,否則,返回“access denied”!

截止目前,筆者還沒用發現還有什么辦法能繼續使用它!不過,官方和諧掉這個API其實也是說得過去的,因為在整個WebView的右上角,官方做了一個Navtive的按鈕,點開以后,包括分享給好友、分享到朋友圈這樣的功能都有,所以,官方也是在做一些引導。

當然,WeixinJSBridge這個API也並不是所有功能都被和諧掉了,相反,有好幾個功能還是相當有用的,可以正常使用,比如:

1、隱藏微信網頁右上角的按鈕(...按鈕):開發者可以用這個功能來禁止當前頁面被分享

2、隱藏微信網頁底部的導航欄(比如前進后退和刷新):這個導航欄會占用一定的區域,開發者可以認為用戶不會用到它,將其隱藏掉

3、在微信網頁中獲取用戶的網絡狀態:開發者可以利用這個API獲得用戶的網絡狀態,並提供不同的服務,比如視頻類,在wifi下提供高清視頻流,在2g網絡下提供普通清晰視頻流等等

下面分別通過簡單的幾行代碼,說明這幾個API的用法:

1、隱藏微信網頁右上角的按鈕

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、隱藏微信網頁底部的導航欄

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、在微信網頁中獲取用戶的網絡狀態

1 WeixinJSBridge.invoke('getNetworkType',{},function(e){
2     // 在這里拿到e.err_msg,這里面就包含了所有的網絡類型
3     alert(e.err_msg);
4 });

e.err_msg的取值如下所示:

 1 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM