關於微信內置瀏覽器私有接口WeiXinJsBridge,只是以前接觸過的一個微信公衆號項目中遇到過,不過並無深刻研究過,能夠說並無瞭解過。。。瀏覽器
恰好今天無心中看到了這方面的知識,就補習一下,彌補一下本身短缺的js知識,雖然只是瞭解了一點,可是仍是先記錄下來,一方面加強本身的記憶,另外一方面,順便練練手,不至於未來使用的時候,找到了地方。下面進入正題。微信
看了這個微信瀏覽器私有接口WeiXinJsBridge,大體總結了一下幾個小的有用的知識點:app
一、分享給好友。ide
二、分享到朋友圈。函數
三、分享到微博。工具
四、隱藏下方工具欄。url
五、隱藏微信右上角分享按鈕(三個小圓點)。spa
要在微信頁面中調用這個接口,就要熟悉WeiXinJsBridge的標準吧。code
1、首先介紹一下三個分享功能的分享函數吧。blog
1 function sendMessage(){ 2 WeixinJSBridge.on('menu:share:appmessage', function(argv){ 3 alert("發送給好友"); 4 }); 5 }
只要在須要進行分享的位置處,調用此函數,就能夠完成分享功能。
2、分享函數介紹完了,那麼分享給好友,朋友圈,微博有什麼區別呢?天然是有區別的,不過這三種分享功能的代碼都是在分享函數內部實現的。
一、分享給好友。
1 function sendMessage(){ 2 WeixinJSBridge.on('menu:share:appmessage', function(argv){ 3 4 WeixinJSBridge.invoke('sendAppMessage',{ 5 6 "appid":"", //appid 設置空就行了。 7 "img_url": imgUrl, //分享時所帶的圖片路徑 8 "img_width": "120", //圖片寬度 9 "img_height": "120", //圖片高度 10 "link":url, //分享附帶連接地址 11 "desc":"我是一個介紹", //分享內容介紹 12 "title":"標題,再簡單不過了。" 13 }, function(res){ 14 /*** 回調函數,最好設置爲空 ***/ 15 16 }); 17 }); 18 }
二、分享到朋友圈。
1 function sendMessage(){ 2 3 WeixinJSBridge.on('menu:share:timeline', function(argv){ 4 5 WeixinJSBridge.invoke('shareTimeline',{ 6 7 "appid":"", //appid 設置空就行了。 8 "img_url": imgUrl, //分享時所帶的圖片路徑 9 "img_width": "120", //圖片寬度 10 "img_height": "120", //圖片高度 11 "link":url, //分享附帶連接地址 12 "desc":"我是一個介紹", //分享內容介紹 13 "title":"標題,再簡單不過了。" 14 }, function(res){ 15 /*** 回調函數,最好設置爲空 ***/}); 16 17 }); 18 }); 19 }
三、分享到微博。
1 function sendMessage(){ 2 3 WeixinJSBridge.on('menu:share:weibo', function(argv){ 4 5 WeixinJSBridge.invoke('shareWeibo',{ 6 "content":dataForWeixin.title+' '+dataForWeixin.url, 7 "url":dataForWeixin.url 8 }, function(res){ 9 /*** 回調函數,最好設置爲空 ***/ 10 11 }); 12 }); 13 }
觀察以上三個分享功能的代碼,能夠看出三個功能代碼的不一樣之處在於,1('menu:share:weibo')2(WeixinJSBridge.invoke('shareWeibo',{})這兩個標紅位置的不一樣。使用的時候請注意。
注意:若是微信瀏覽器內部還沒有初始化,全部的接口都會是undefined。爲了不進去立刻就調用出錯,獲取微信初始化完成響應事件,初始化完成調用sendMessage進行綁定。
if(document.addEventListener){ document.addEventListener('WeixinJSBridgeReady',sendMessage,false); }else if(document.attachEvent){ document.attachEvent('WeixinJSBridgeReady' , sendMessage); document.attachEvent('onWeixinJSBridgeReady' , sendMessage); }
上邊的代碼必不可少。
剩下的兩個功能代碼以下:
function hideMenu(){
WeixinJSBridge.call('hideOptionMenu'); //隱藏右下面工具欄
}
function showMenu(){
WeixinJSBridge.call('showOptionMenu'); //顯示右下面工具欄
}
function hideTool(){
WeixinJSBridge.call('hideToolbar');//隱藏右上角三個點按鈕。
}
function showTool(){
WeixinJSBridge.call('showToolbar');//顯示右上角三個點按鈕。
}
特別提醒:目前使用這個js代碼應該不行了吧,須要使用官方的js-sdk來實現分享功能了(使用官方的jssdk,須要微信公衆號)