您好,登錄后才能下訂單哦!
這篇文章主要介紹了微信公眾平臺中如何控制微信網頁右上角的菜單,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
wx.hideOptionMenu();
wx.showOptionMenu();
wx.closeWindow();
wx.hideMenuItems({ menuList: [] // 要隱藏的菜單項,只能隱藏“傳播類”和“保護類”按鈕,所有menu項見附錄3 });
wx.showMenuItems({ menuList: [] // 要顯示的菜單項,所有menu項見附錄3 });
wx.hideAllNonBaseMenuItem(); // “基本類”按鈕詳見附錄3
wx.showAllNonBaseMenuItem();
實現代碼步驟
第一、jsp界面引入js庫
<script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"> </script> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script> |
第二、<body></body>之間的html代碼
<center><h4>歡迎來到微信jsapi測試界面-V型知識庫</h4></center> <h4 id="menu-webview">界面操作接口</h4><br> <span class="desc" >隱藏右上角菜單接口</span><br> <button class="btn btn_primary" id="hideOptionMenu">hideOptionMenu</button><br> <span class="desc">顯示右上角菜單接口</span><br> <button class="btn btn_primary" id="showOptionMenu">showOptionMenu</button><br> <span class="desc">關閉當前網頁窗口接口</span><br> <button class="btn btn_primary" id="closeWindow">closeWindow</button><br> <span class="desc">批量隱藏功能按鈕接口</span><br> <button class="btn btn_primary" id="hideMenuItems">hideMenuItems</button><br> <span class="desc">批量顯示功能按鈕接口</span><br> <button class="btn btn_primary" id="showMenuItems">showMenuItems</button><br> <span class="desc">隱藏所有非基礎按鈕接口</span><br> <button class="btn btn_primary" id="hideAllNonBaseMenuItem">hideAllNonBaseMenuItem</button><br> <span class="desc">顯示所有功能按鈕接口</span><br> <button class="btn btn_primary" id="showAllNonBaseMenuItem">showAllNonBaseMenuItem</button><br> |
第三、<script></script>之間初始化微信jsapi庫添加
wx.config({ debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId: '${appId}', // 必填,公眾號的唯一標識 timestamp: '${ timestamp}' , // 必填,生成簽名的時間戳 nonceStr: '${ nonceStr}', // 必填,生成簽名的隨機串 signature: '${ signature}',// 必填,簽名,見附錄1 jsApiList: ['checkJsApi', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'getNetworkType',//網絡狀態接口 'openLocation',//使用微信內置地圖查看地理位置接口 'getLocation', //獲取地理位置接口 'hideOptionMenu',//界面操作接口1 'showOptionMenu',//界面操作接口2 'closeWindow' , ////界面操作接口3 'hideMenuItems',////界面操作接口4 'showMenuItems',////界面操作接口5 'hideAllNonBaseMenuItem',////界面操作接口6 'showAllNonBaseMenuItem'////界面操作接口7 ] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2 }); |
第四、調用第二步button按鈕的功能js代碼,在wx.ready中添加
// 8 界面操作接口 開始---------- // 8.1 隱藏右上角菜單 document.querySelector('#hideOptionMenu').onclick = function () { wx.hideOptionMenu(); }; // 8.2 顯示右上角菜單 document.querySelector('#showOptionMenu').onclick = function () { wx.showOptionMenu(); }; // 8.3 批量隱藏菜單項 document.querySelector('#hideMenuItems').onclick = function () { wx.hideMenuItems({ menuList: [ 'menuItem:readMode', // 閱讀模式 'menuItem:share:timeline', // 分享到朋友圈 'menuItem:copyUrl' // 復制鏈接 ], success: function (res) { alert('已隱藏“閱讀模式”,“分享到朋友圈”,“復制鏈接”等按鈕'); }, fail: function (res) { alert(JSON.stringify(res)); } }); }; // 8.4 批量顯示菜單項 document.querySelector('#showMenuItems').onclick = function () { wx.showMenuItems({ menuList: [ 'menuItem:readMode', // 閱讀模式 'menuItem:share:timeline', // 分享到朋友圈 'menuItem:copyUrl' // 復制鏈接 ], success: function (res) { alert('已顯示“閱讀模式”,“分享到朋友圈”,“復制鏈接”等按鈕'); }, fail: function (res) { alert(JSON.stringify(res)); } }); }; // 8.5 隱藏所有非基本菜單項 document.querySelector('#hideAllNonBaseMenuItem').onclick = function () { wx.hideAllNonBaseMenuItem({ success: function () { alert('已隱藏所有非基本菜單項'); } }); }; // 8.6 顯示所有被隱藏的非基本菜單項 document.querySelector('#showAllNonBaseMenuItem').onclick = function () { wx.showAllNonBaseMenuItem({ success: function () { alert('已顯示所有非基本菜單項'); } }); }; // 8.7 關閉當前窗口 document.querySelector('#closeWindow').onclick = function () { wx.closeWindow(); }; // 8 界面操作接口 結束------------------------------------------ |
這些js方法注釋已經寫的很明白,每個方法對應一個button按鈕功能
第五、完整的jsp頁面代碼,讀者可直接復制運行
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <!-- www.vxzsk.com原創 --> <title>微信jsapi測試-V型知識庫</title> <meta name="viewport" content="width=320.1,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> <script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"> </script> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script> <style type="text/css"> .desc{ color: red; } </style> </head> <body> <center><h4>歡迎來到微信jsapi測試界面-V型知識庫</h4></center> <h4 id="menu-webview">界面操作接口</h4><br> <span class="desc" >隱藏右上角菜單接口</span><br> <button class="btn btn_primary" id="hideOptionMenu">hideOptionMenu</button><br> <span class="desc">顯示右上角菜單接口</span><br> <button class="btn btn_primary" id="showOptionMenu">showOptionMenu</button><br> <span class="desc">關閉當前網頁窗口接口</span><br> <button class="btn btn_primary" id="closeWindow">closeWindow</button><br> <span class="desc">批量隱藏功能按鈕接口</span><br> <button class="btn btn_primary" id="hideMenuItems">hideMenuItems</button><br> <span class="desc">批量顯示功能按鈕接口</span><br> <button class="btn btn_primary" id="showMenuItems">showMenuItems</button><br> <span class="desc">隱藏所有非基礎按鈕接口</span><br> <button class="btn btn_primary" id="hideAllNonBaseMenuItem">hideAllNonBaseMenuItem</button><br> <span class="desc">顯示所有功能按鈕接口</span><br> <button class="btn btn_primary" id="showAllNonBaseMenuItem">showAllNonBaseMenuItem</button><br> <p style="display: none;"> <p>基礎接口之判斷當前客戶端是否支持指定的js接口</p> <input type="button" value="checkJSAPI" id="checkJsApi"><br> <span class="desc" style="color: red">地理位置接口-使用微信內置地圖查看位置接口</span><br> <button class="btn btn_primary" id="openLocation">openLocation</button><br> <span class="desc" style="color: red">地理位置接口-獲取地理位置接口</span><br> <button class="btn btn_primary" id="getLocation">getLocation</button><br> <span class="desc" style="color: red">獲取網絡狀態接口</span><br> <button class="btn btn_primary" id="getNetworkType">getNetworkType</button><br> <h4 id="menu-image">圖像接口</h4> <span class="desc">拍照或從手機相冊中選圖接口</span><br> <button class="btn btn_primary" id="chooseImage">chooseImage</button><br> <span class="desc">預覽圖片接口</span><br> <button class="btn btn_primary" id="previewImage">previewImage</button><br> <span class="desc">上傳圖片接口</span><br> <button class="btn btn_primary" id="uploadImage">uploadImage</button><br> <span class="desc">下載圖片接口</span><br> <button class="btn btn_primary" id="downloadImage">downloadImage</button><br> <br> 顯示圖片<img alt="" src="" id="faceImg"> </p> <script type="text/javascript"> wx.config({ debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId: '${appId}', // 必填,公眾號的唯一標識 timestamp: '${ timestamp}' , // 必填,生成簽名的時間戳 nonceStr: '${ nonceStr}', // 必填,生成簽名的隨機串 signature: '${ signature}',// 必填,簽名,見附錄1 jsApiList: ['checkJsApi', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'getNetworkType',//網絡狀態接口 'openLocation',//使用微信內置地圖查看地理位置接口 'getLocation', //獲取地理位置接口 'hideOptionMenu',//界面操作接口1 'showOptionMenu',//界面操作接口2 'closeWindow' , ////界面操作接口3 'hideMenuItems',////界面操作接口4 'showMenuItems',////界面操作接口5 'hideAllNonBaseMenuItem',////界面操作接口6 'showAllNonBaseMenuItem'////界面操作接口7 ] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2 }); wx.ready(function(){ // 5 圖片接口 // 5.1 拍照、本地選圖 var images = { localId: [], serverId: [] }; document.querySelector('#chooseImage').onclick = function () { wx.chooseImage({ success: function (res) { images.localId = res.localIds; alert('已選擇 ' + res.localIds.length + ' 張圖片'); $("#faceImg").attr("src", res.localIds[0]);//顯示圖片到頁面上 } }); }; // 5.2 圖片預覽 document.querySelector('#previewImage').onclick = function () { wx.previewImage({ current: 'http://www.vxzsk.com/upload//bf04c9b5-5699-421d-900e-3b68bbe58a8920160816.jpg', urls: [ 'http://www.vxzsk.com/upload//bf04c9b5-5699-421d-900e-3b68bbe58a8920160816.jpg', 'http://www.vxzsk.com/upload//bf04c9b5-5699-421d-900e-3b68bbe58a8920160816.jpg', 'http://www.vxzsk.com/upload//bf04c9b5-5699-421d-900e-3b68bbe58a8920160816.jpg' ] }); }; // 5.3 上傳圖片 document.querySelector('#uploadImage').onclick = function () { if (images.localId.length == 0) { alert('請先使用 chooseImage 接口選擇圖片'); return; } var i = 0, length = images.localId.length; images.serverId = []; function upload() { wx.uploadImage({ localId: images.localId[i], success: function (res) { i++; //alert('已上傳:' + i + '/' + length); images.serverId.push(res.serverId); if (i < length) { upload(); } }, fail: function (res) { alert(JSON.stringify(res)); } }); } upload(); }; // 5.4 下載圖片 document.querySelector('#downloadImage').onclick = function () { if (images.serverId.length === 0) { alert('請先使用 uploadImage 上傳圖片'); return; } var i = 0, length = images.serverId.length; images.localId = []; function download() { wx.downloadImage({ serverId: images.serverId[i], success: function (res) { i++; alert('已下載:' + i + '/' + length); images.localId.push(res.localId); if (i < length) { download(); } } }); } download(); }; // 6 設備信息接口 // 6.1 獲取當前網絡狀態 document.querySelector('#getNetworkType').onclick = function () { wx.getNetworkType({ success: function (res) { alert(res.networkType); }, fail: function (res) { alert(JSON.stringify(res)); } }); }; //網絡接口結束 // 7 地理位置接口 開始 // 7.1 查看地理位置 document.querySelector('#openLocation').onclick = function () { wx.openLocation({ latitude: 23.099994, longitude: 113.324520, name: 'TIT 創意園', address: '廣州市海珠區新港中路 397 號', scale: 14, infoUrl: 'http://weixin.qq.com' }); }; // 7.2 獲取當前地理位置 document.querySelector('#getLocation').onclick = function () { wx.getLocation({ success: function (res) { alert(JSON.stringify(res)); }, cancel: function (res) { alert('用戶拒絕授權獲取地理位置'); } }); }; // 7 地理位置接口 結束 // 8 界面操作接口 開始---------- // 8.1 隱藏右上角菜單 document.querySelector('#hideOptionMenu').onclick = function () { wx.hideOptionMenu(); }; // 8.2 顯示右上角菜單 document.querySelector('#showOptionMenu').onclick = function () { wx.showOptionMenu(); }; // 8.3 批量隱藏菜單項 document.querySelector('#hideMenuItems').onclick = function () { wx.hideMenuItems({ menuList: [ 'menuItem:readMode', // 閱讀模式 'menuItem:share:timeline', // 分享到朋友圈 'menuItem:copyUrl' // 復制鏈接 ], success: function (res) { alert('已隱藏“閱讀模式”,“分享到朋友圈”,“復制鏈接”等按鈕'); }, fail: function (res) { alert(JSON.stringify(res)); } }); }; // 8.4 批量顯示菜單項 document.querySelector('#showMenuItems').onclick = function () { wx.showMenuItems({ menuList: [ 'menuItem:readMode', // 閱讀模式 'menuItem:share:timeline', // 分享到朋友圈 'menuItem:copyUrl' // 復制鏈接 ], success: function (res) { alert('已顯示“閱讀模式”,“分享到朋友圈”,“復制鏈接”等按鈕'); }, fail: function (res) { alert(JSON.stringify(res)); } }); }; // 8.5 隱藏所有非基本菜單項 document.querySelector('#hideAllNonBaseMenuItem').onclick = function () { wx.hideAllNonBaseMenuItem({ success: function () { alert('已隱藏所有非基本菜單項'); } }); }; // 8.6 顯示所有被隱藏的非基本菜單項 document.querySelector('#showAllNonBaseMenuItem').onclick = function () { wx.showAllNonBaseMenuItem({ success: function () { alert('已顯示所有非基本菜單項'); } }); }; // 8.7 關閉當前窗口 document.querySelector('#closeWindow').onclick = function () { wx.closeWindow(); }; // 8 界面操作接口 結束------------------------------------------ }); //初始化jsapi接口 狀態 wx.error(function (res) { alert("調用微信jsapi返回的狀態:"+res.errMsg); }); </script> </body> </html> |
上述jsp代碼中有四個參數,這四個參數是成功調用微信jsapi的憑證,分別為appId(必填,公眾號的唯一標識),timestamp(必填,生成簽名的時間戳), nonceStr(必填,生成簽名的隨機串) ,signature(必填,簽名),關于如何生成這四個參數,如果不知道的讀者,請查看本頁面左上角的菜單,里面有詳細介紹,在這里不在累述。
第六、上述代碼運行后,效果如下
打開微信進入界面,功能已表示為紅色
點擊隱藏右上角菜單,效果如下
點擊顯示右上角菜單按鈕,效果如下,仔細看此時還有復制鏈接,分享到朋友圈等功能
點擊批量隱藏功能按鈕,我們會發現,右上角的分享到朋友圈、復制鏈接已經沒有了,效果圖如下
感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信公眾平臺中如何控制微信網頁右上角的菜單”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。