微信網(wǎng)頁進(jìn)入,右上角有三個(gè)小點(diǎn),沒錯(cuò),我們用到的就是它!我們只要通過將小點(diǎn)列表下的按鈕進(jìn)行自定義,就可以隨心所欲的分享我們自己的內(nèi)容了。
注意:(WeixinJSBridge只能在微信內(nèi)打開的網(wǎng)頁有效)
按鈕一之------發(fā)送給好友
代碼如下:
function sendMessage(){
WeixinJSBridge.on('menu:share:appmessage', function(argv){ alert("發(fā)送給好友"); });
}
這樣,只要在某處調(diào)用 sendMessage 函數(shù)就可以改變發(fā)送好友的按鈕響應(yīng)了,再點(diǎn)擊,便會(huì)彈出“發(fā)送給好友字符串”,是不是很簡(jiǎn)單。
分享函數(shù)
代碼如下:
WeixinJSBridge.invoke('sendAppMessage',{
"appid":"", //appid 設(shè)置空就好了。
"img_url": imgUrl, //分享時(shí)所帶的圖片路徑
"img_width": "120", //圖片寬度
"img_height": "120", //圖片高度
"link":url, //分享附帶鏈接地址
"desc":"我是一個(gè)介紹", //分享內(nèi)容介紹
"title":"標(biāo)題,再簡(jiǎn)單不過了。"
}, function(res){/*** 回調(diào)函數(shù),最好設(shè)置為空 ***/});
注意,如果將這個(gè)微信私有函數(shù)單獨(dú)拿出來調(diào)用,道理上是講的通,但是!第一次打開頁面直接調(diào)用它的話,無論如何是沒有任何反映的,必須要手動(dòng),點(diǎn)一下右上角分享給好友按鈕,待彈出一次通訊錄之后,返回來在直接使用,就沒有任何問題,似乎內(nèi)部初始化什么東西一樣。所以建議直接嵌入到上面那個(gè) 綁定方法中。
如下:
代碼如下:
function sendMessage(){
WeixinJSBridge.on('menu:share:appmessage', function(argv){
WeixinJSBridge.invoke('sendAppMessage',{
"appid":"", //appid 設(shè)置空就好了。
"img_url": imgUrl, //分享時(shí)所帶的圖片路徑
"img_width": "120", //圖片寬度
"img_height": "120", //圖片高度
"link":url, //分享附帶鏈接地址
"desc":"我是一個(gè)介紹", //分享內(nèi)容介紹
"title":"標(biāo)題,再簡(jiǎn)單不過了。"
}, function(res){/*** 回調(diào)函數(shù),最好設(shè)置為空 ***/
});
});
}
這樣,你在點(diǎn)擊發(fā)送給好友按鈕,就可以直接彈出通訊錄選擇 ‘單個(gè)' 好友進(jìn)行分享。
同理,分享到朋友圈也是調(diào)用 invoke 私有函數(shù),只是按鈕綁定名稱不同而已。
代碼如下:
function sendMessage(){
......//此處省略發(fā)送給好友代碼
WeixinJSBridge.on('menu:share:timeline', function(argv){
WeixinJSBridge.invoke('shareTimeline',{
"appid":"", //appid 設(shè)置空就好了。
"img_url": imgUrl, //分享時(shí)所帶的圖片路徑
"img_width": "120", //圖片寬度
"img_height": "120", //圖片高度
"link":url, //分享附帶鏈接地址
"desc":"我是一個(gè)介紹", //分享內(nèi)容介紹
"title":"標(biāo)題,再簡(jiǎn)單不過了。"
}, function(res){/*** 回調(diào)函數(shù),最好設(shè)置為空 ***/});
});
});
}
注意,on綁定的是 “menu:share:timeline” 不是 "menu:share:appmessage"。invoke里面也是。
還一個(gè)微博分享,我沒試過,不知道有沒有用,想玩的試試,一切分享都是調(diào)用當(dāng)前微信帳號(hào)分享。
代碼如下:
WeixinJSBridge.on('menu:share:weibo', function(argv){
WeixinJSBridge.invoke('shareWeibo',{
"content":dataForWeixin.title+' '+dataForWeixin.url,
"url":dataForWeixin.url
}, function(res){});
});
如果微信瀏覽器內(nèi)部尚未初始化,所有的接口都會(huì)是undefined。為了避免進(jìn)去馬上就調(diào)用出錯(cuò),獲取微信初始化完成響應(yīng)事件,初始化完成調(diào)用sendMessage進(jìn)行綁定。
如下:
代碼如下:
if(document.addEventListener){
document.addEventListener('WeixinJSBridgeReady', sendMessage, false); }else if(document.attachEvent){
document.attachEvent('WeixinJSBridgeReady' , sendMessage); document.attachEvent('onWeixinJSBridgeReady' , sendMessage); }
下面還有幾個(gè)小功能:
代碼如下:
WeixinJSBridge.call('hideToolbar'); //隱藏右下面工具欄
WeixinJSBridge.call('showToolbar'); //顯示右下面工具欄
WeixinJSBridge.call('hideOptionMenu'); //隱藏右上角三個(gè)點(diǎn)按鈕。
WeixinJSBridge.call('showOptionMenu'); //顯示右上角三個(gè)點(diǎn)按鈕。
我是一個(gè)菜鳥,寫完了,寫的不好,請(qǐng)大家多多包含!
完整測(cè)試代碼(用微信打開):
代碼如下:
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2
違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)