今天在做隱藏微信右上角的分享按鈕
現在使用的寫法是
1 2 3 |
|
微信API中的附錄三
附錄3-所有菜單項列表
基本類
舉報: "menuItem:exposeArticle"
調整字體: "menuItem:setFont"
日間模式: "menuItem:dayMode"
夜間模式: "menuItem:nightMode"
刷新: "menuItem:refresh"
查看公衆號(已添加): "menuItem:profile"
查看公衆號(未添加): "menuItem:addContact"
傳播類
發送給朋友: "menuItem:share:appMessage"
分享到朋友圈: "menuItem:share:timeline"
分享到QQ: "menuItem:share:qq"
分享到Weibo: "menuItem:share:weiboApp"
收藏: "menuItem:favorite"
分享到FB: "menuItem:share:facebook"
分享到 QQ 空間/menuItem:share:QZone
保護類
編輯標籤: "menuItem:editTag"
刪除: "menuItem:delete"
複製鏈接: "menuItem:copyUrl"
原網頁: "menuItem:originPage"
閱讀模式: "menuItem:readMode"
在QQ瀏覽器中打開: "menuItem:openWithQQBrowser"
在Safari中打開: "menuItem:openWithSafari"
郵件: "menuItem:share:email"
一些特殊公衆號: "menuItem:share:brand"
百度查到的一串代碼,挺好用的
<!--禁用微信分享按鈕-->
<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 |
|
2、隱藏微信網頁底部的導航欄
1 2 3 4 5 6 7 8 9 |
|
3、在微信網頁中獲取用戶的網絡狀態
1 2 3 4 |
|
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
左邊菜單點擊【微信網頁開發】,點擊下面的二級菜單【微信JS-SDK說明文檔】,然後就能看到一系列關於JS-SDK的說明。目錄10.界面操作就是需要的地方,只不過火狐大概點擊不了或者根本沒做頁面點擊,所以直接頁面CTRL+F搜【菜單】兩個字,往下找就是了
第十條界面操作則是對於按鈕的處理
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:[]括號中,具體拼接方式,大概是","
fighting