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,僅在調試器內生效,如果你不解決此問題,項目發布至線上後依舊不會生效。
做些按鈕名稱的記錄