A. 如何隐藏微信浏览器后退键一栏
document.addEventListener('WeixinjsBridgeReady', function onBridgeReady() {
WeixinJSBridge.call('hideToolbar');
WeixinJSBridge.call('hideOptionMenu');
B. wx.hideOptionMenu()在开发者工具模拟不生效,用真机可以实现
开发项目过程中,遇到在微信打开页面,需要隐藏分享到朋友、朋友圈、qq、QQ空间等,查询微信的网页开发js-sdk, 文档查阅 , wx.hideOptionMenu()在开发者工具模拟不生效,用真机可以实现。
文档中是这样描述的:
第一步:
wx.config({
debug: false, // 开启调试模式,
appId: config.appId, // 必填,公众号的唯一标识
timestamp: config.timestamp, // 必填,生成签名的时间戳
nonceStr: config.nonceStr, // 必填,生成签名的随机串
signature: config.signature,// 必填,签名
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'hideMenuItems', 'scanQRCode'] // 必填,需要使用的JS接口列表
});
第二步:
wx.hideMenuItems({
menuList: [ary] //该参数类型为数组,
})
wx.hideMenuItems() //该参数为空,则隐藏“传播类”和“保护类”的所有按钮。
C. 如何隐藏微信分享按钮的链接
http://www.cnblogs.com/qxqbk/p/7117792.html
1、界面操作
(1)隐藏右上角菜单接口
wx.hideOptionMenu();
(2)显示右上角菜单接口
wx.showOptionMenu();
(3)关闭当前网页窗口接口
wx.closeWindow();
(4)批量隐藏功能按钮接口
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
保护类
编辑标签: "menuItem:editTag"
删除: "menuItem:delete"
复制链接: "menuItem:Url"
原网页: "menuItem:originPage"
阅读模式: "menuItem:readMode"
在QQ浏览器中打开: "menuItem:openWithQQBrowser"
在Safari中打开: "menuItem:openWithSafari"
邮件: "menuItem:share:email"
一些特殊公众号: "menuItem:share:brand"
(5)批量显示功能按钮接口
wx.showMenuItems({
menuList: [] // 要显示的菜单项,所有menu项见附录3
});
(6)隐藏所有非基础按钮接口
wx.hideAllNonBaseMenuItem();
// “基本类”按钮详见附录3
(7)显示说有功能按钮接口
wx.showAllNonBaseMenuItem();
附录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:Url"
原网页: "menuItem:originPage"
阅读模式: "menuItem:readMode"
在QQ浏览器中打开: "menuItem:openWithQQBrowser"
在Safari中打开: "menuItem:openWithSafari"
邮件: "menuItem:share:email"
一些特殊公众号: "menuItem:share:brand"
2、调用这些接口的时候必须引入js,如下所示
https://res.wx.qq.com/open/js/jweixin-1.0.0.js
<script src= " http://res.wx.qq.com/open/js/jweixin-1.0.0.js " ></script>
3、引入js后再read中写相应的接口,必须将写入的接口注入到config中,不然不起作用
wx.hideMenuItems({ menuList: ['menuItem:share:QZone', 'menuItem:share:appMessage',
'menuItem:share:qq',
'menuItem:favorite',
'menuItem:setFont',
'menuItem:Url'
]
});
D. 关于微信js-sdk 具体怎么弄主要是timestamp: nonceStr: signature: 这三个值,用js怎么得到,不用php
这三个参数都是在你点击验证的时候 通过url get的方式返回给到你的
E. 微信公众平台开发,oauth2.0认证地址,打开jssdk页面无法验证通过
给你个PHP的例子:
下面的代码保存为get_sdkper.php
<?php
require_once "jssdk.php";
//1.注意:所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
//2.填写appid和secret
$appid="你的appid";
$secret="你的secret";
$getUrl=$_POST["url"];
$jssdk = new JSSDK($appid, $secret,$getUrl);
$signPackage = $jssdk->GetSignPackage();
echo("{\"appId\":\"".$signPackage["appId"]."\",\"timestamp\":\"".$signPackage["timestamp"]."\",\"nonceStr\":\"".$signPackage["nonceStr"]."\",\"signature\":\"".$signPackage["signature"]."\",\"url\":\"".$signPackage["url"]."\"}");
?>
下面是调用方法:
//调用微信JS API接口
var GetappId="",Gettimestamp="",GetnonceStr="",Getsignature="";
function CallWechatJSAPI()
{
$.ajax({
url:"get_sdkper.php",
type:"POST",
data:"url="+escape(location.href.split('#')[0]),
dataType:"JSON",
success:function(result){
var resultData = $.evalJSON(result);
if(resultData){
GetappId = resultData.appId;
Gettimestamp = resultData.timestamp;
GetnonceStr = resultData.nonceStr;
Getsignature = resultData.signature;
wx.config({
debug: false,
appId: GetappId,
timestamp: Gettimestamp,
nonceStr: GetnonceStr,
signature: Getsignature,
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareQQ',
'onMenuShareWeibo',
'hideMenuItems',
'hideAllNonBaseMenuItem',
'chooseImage',
'previewImage',
'uploadImage',
'downloadImage',
'getNetworkType',
'openLocation',
'getLocation',
'hideOptionMenu',
'closeWindow',
'scanQRCode',
'chooseWXPay',
'openProctSpecificView',
'addCard',
'chooseCard',
'openCard'
]
});
}
},
error:function(){
//alert("连接网络失败,请重试。");
}
});
}
F. 微信内H5网页 禁止分享和复制链接
最近一个活动页H5,需求是不给用户分享(居然还还有这种要求)。
首先,这个api没有被废弃,还可以使用,如果你看了
https://blog.csdn.net/qq_21119513/article/details/81383371
这篇文章,请不要在意,自己按照下面的方法动手试一试。
查看官方api文档或者度爹,可以搜到很多
不用的时候觉得很鸡肋,用到的时候觉非常好用的api
这里随便列几个:
大家基本都看到了这个api
没错,用的就是这个。
项目用的是vue,之前封装过一个分享的方法用于全局,所以直接操刀改一改就行了
在方法的参数最后面加上hideitems,wx.ready内加上判断是否有hideitems,有的话,使用wx.hideMenuItems隐藏。
这样基本就完成了。
当然,你可能也会碰到报错:
the permission value is offline verifying
检查 jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage','hideMenuItems']
调用的api是否注册进了jsApiList。
如果你只是仅做调试,那么可以参考:
https://blog.csdn.net/qq_39276317/article/details/106573960
这篇文章的做法。注:此方法注册的api,仅在调试器内生效,如果你不解决此问题,项目发布至线上后依旧不会生效。
做些按钮名称的记录