小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

微信網(wǎng)頁(yè)鏈接分享的API,及Weixin JS接口使用拾遺

 icecity1306 2014-11-18

微信是開(kāi)放的嗎,騰訊自己肯定說(shuō)是。

可是一個(gè)分享網(wǎng)頁(yè)鏈接的API都要搜半天也找不到一個(gè)官方說(shuō)法,那算就“開(kāi)放”嗎。

關(guān)于分享網(wǎng)頁(yè)鏈接,可以參見(jiàn) 分享網(wǎng)頁(yè)鏈接到微信的“幾種”方法

客戶(hù)端API

如果不借助JavaScript的話:

  • 標(biāo)題取自HTML代碼中的title標(biāo)簽
  • 圖片取自頁(yè)面中得第一張“大”圖
  • 頁(yè)面內(nèi)容簡(jiǎn)介為空

這顯然可控性不是很好:

  • 空的頁(yè)面內(nèi)容簡(jiǎn)介不好看
  • 比如頁(yè)面本身不包含圖片,但分享時(shí)希望包含一個(gè)圖片以增加美觀
  • 比如希望頁(yè)面的URL是某一個(gè)入口頁(yè)面

目前綜合查詢(xún)總結(jié)下來(lái),下面的代碼經(jīng)驗(yàn)證可以工作。使用的是被稱(chēng)為“Weixin JS接口”的東東。

var lineLink    = 'http://../....';    // 要分享的頁(yè)面的URL
var imgUrl      = 'http://.../...';    // 顯示在微信里的縮略圖
var shareTitle  = '頁(yè)面標(biāo)題';          // 頁(yè)面標(biāo)題
var descContent = "頁(yè)面內(nèi)容簡(jiǎn)介";      // 內(nèi)容簡(jiǎn)介
var appid       = '';                  // APP ID, 可以為空


function wx_shareFriend() {  
  WeixinJSBridge.invoke('sendAppMessage',{  
     "appid": appid,  
     "img_url": imgUrl,  
     "img_width": "640",  
     "img_height": "640",  
     "link": lineLink,  
     "desc": descContent,  
     "title": shareTitle  
     }, function(res) {  
       //alert(res.err_msg);  
     })  
}  

function wx_shareTimeline() {  
  WeixinJSBridge.invoke('shareTimeline',{  
    "img_url": imgUrl,  
    "img_width": "640",  
    "img_height": "640",  
    "link": lineLink,  
    "desc": descContent,  
    "title": shareTitle  
    }, function(res) {  
       //alert(res.err_msg);  
    });  
}  

function wx_shareWeibo() {  
  WeixinJSBridge.invoke('shareWeibo',{  
    "content": descContent,  
    "url": lineLink,  
    }, function(res) {  
      //alert(res.err_msg);  
    });  
}  

function onBridgeReady(){
  WeixinJSBridge.on('menu:share:appmessage', wx_shareFriend);   // 發(fā)送給朋友
  WeixinJSBridge.on('menu:share:timeline',   wx_shareTimeline); // 分享到朋友圈
  WeixinJSBridge.on('menu:share:weibo',      wx_shareWeibo);    // 分享到微博
}

if (typeof WeixinJSBridge == "undefined"){
  if( document.addEventListener ){
      document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  }else if (document.attachEvent){
      document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
      document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  }
}else{
  onBridgeReady();
}

Weixin JS接口使用拾遺

“Weixin JS接口”沒(méi)有完整的公開(kāi)文檔(至少自己還沒(méi)有通過(guò)公開(kāi)渠道找到),只能零散記錄整理如下。

注冊(cè)監(jiān)聽(tīng)回調(diào)函數(shù)

function onBridgeReady(){
  WeixinJSBridge.on('menu:share:appmessage', wx_shareFriend);  
  WeixinJSBridge.on('menu:share:timeline',   wx_shareTimeline);  
  WeixinJSBridge.on('menu:share:weibo',      wx_shareWeibo);
}

if (typeof WeixinJSBridge == "undefined"){
  if( document.addEventListener ){
      document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  }else if (document.attachEvent){
      document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
      document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  }
}else{
  onBridgeReady();
}

隱藏網(wǎng)頁(yè)右上角按鈕

WeixinJSBridge.call('hideOptionMenu');

隱藏網(wǎng)頁(yè)底部導(dǎo)航欄

WeixinJSBridge.call('hideToolbar');

關(guān)閉當(dāng)前網(wǎng)頁(yè)窗口

WeixinJSBridge.invoke('closeWindow',{},function(res){
  // alert(res.err_msg);
});

獲取當(dāng)前網(wǎng)絡(luò)鏈接類(lèi)型

WeixinJSBridge.invoke('getNetworkType',{},function(e){
  // WeixinJSBridge.log(e.err_msg);
});
標(biāo)簽: 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多