WeChat’s official jsapi provides an interface operation interface, which is used to control the menu in the upper right corner of the WeChat web page. Let’s take a look at the description of the interface operation interface in WeChat’s official documentation.
wx.hideOptionMenu();
wx.showOptionMenu();
wx.closeWindow();
wx.hideMenuItems({ menuList: [] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3 });
wx.showMenuItems({ menuList: [] // 要显示的菜单项,所有menu项见附录3 });
wx.hideAllNonBaseMenuItem(); // “基本类”按钮详见附录3
wx.showAllNonBaseMenuItem();
Implementation code steps
First, jsp interface introduces js library
<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> Copy after login |
##Second, the html code between
# <center><h3>欢迎来到微信jsapi测试界面-V型知识库</h3></center> <h3 id="menu-webview">界面操作接口</h3><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> Copy after login
|
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 }); Copy after login |
第四、调用第二步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 界面操作接口 结束------------------------------------------ Copy after login |
这些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+"/"; %> Copy after login |
There are four parameters in the above jsp code. These four parameters are the credentials for successfully calling WeChat jsapi, which are appId (required). Fill in, the unique identification of the public account), timestamp (required, the timestamp of generating the signature), nonceStr (required, random string to generate signature), signature (required, signature), for readers who don’t know how to generate these four parameters, please check the menu in the upper left corner of this page, which has a detailed introduction, here No need to elaborate.
Sixth, after the above code is run, the effect is as follows
Open When WeChat enters the interface, the functions are shown in red
##Click to hide the menu in the upper right corner, the effect is as follows
Click to display the menu button in the upper right corner, the effect is as follows, look carefullyThere is also a copy link at this time, share it Go to Moments and other functions
## Click the batch hide function button, we will find that in the upper right corner The
is no longer available for sharing to Moments and copying the link. The rendering is as follows
##
The above is the detailed content of An example of showing and hiding the menu in the upper right corner of the web page on WeChat public platform. For more information, please follow other related articles on the PHP Chinese website!