原理:调用微信JS-SDK隐藏右上角菜单接口,官方接口文档见http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS-SDK%E6%8E%A5%E5%8F%A3#.E8.8E.B7.E5.8F.96.E5.9C.B0.E7.90.86.E4.BD.8D.E7.BD.AE.E6.8E.A5.E5.8F.A3
完整代码如下:(页面初始化时直接设置,就可在加载页面时禁用右上角分享、复制链接等功能菜单。)
/** ******************获取微信配置数据********************** */
var Url = "自己后台服务器接口地址";
var oldNet = '';
var newNet = '';//记录网络状态
var configData;
$.ajax({
url: Url + '/GetSignatureInfo',//自己设置的接口名
type:"get",
//params意为参数,是自定义的,用以表明这是传给后台的数据。
data:{"params":location.href.split('#')[0]},
contentType:"application/json; charset=utf-8",
//数据类型为jsonp,解决跨域问题。
dataType:"jsonp",
//自定义的jsonp回调函数名,默认为jQuery自动生成的随机函数
jsonpCallback:"success_jsonpCallback_select",
//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为callback)
jsonp:"callbackparam",
success: function (data) {
configData = {
debug : false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: data.appid, // 必填,公众号的唯一标识
timestamp: data.timestamp, // 必填,生成签名的时间戳
nonceStr: data.nonceStr, // 必填,生成签名的随机串
signature: data.signature,// 必填,签名,见附录1
jsApiList : ['hideOptionMenu']
// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
};
//step2:注入配置信息
wx.config(configData);
//step3:通过ready接口处理成功验证
wx.ready(function () {
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
// alert("执行ready方法");
// wx.checkJsApi({
// jsApiList: ['chooseImage'] // 需要检测的JS接口列表,所有JS接口列表见附录2,
// success: function(res) {
// // 以键值对的形式返回,可用的api值true,不可用为false
// // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
// }
// });
//接口1:获取网络类型
wx.getNetworkType({
success: function (res) {
oldNet = res.networkType; // 返回网络类型2g,3g,4g,wifi
// alert("网络类型"+ oldNet);
}
});
//禁用右上角菜单按钮
wx.hideOptionMenu();
});
},
error:function(data){
alert("服务器链接失败");
}
});