微信小程序分享功能onShareAppMessage(options)用法分析
本文實(shí)例講述了微信小程序分享功能onShareAppMessage(options)用法。分享給大家供大家參考,具體如下:
在頁(yè)面的js文件中定義了 onShareAppMessage 函數(shù)時(shí),頁(yè)面可以表示改頁(yè)面可以轉(zhuǎn)發(fā)。可以在函數(shù)中設(shè)置頁(yè)面轉(zhuǎn)發(fā)的信息。
1. 只有定義了該函數(shù),小程序右上角的菜單中才會(huì)有轉(zhuǎn)發(fā)按鈕
2. 用戶點(diǎn)擊轉(zhuǎn)發(fā)按鈕的時(shí)候回調(diào)用該函數(shù)
3. 該函數(shù)內(nèi)需要 return 一個(gè) Object,Object中包含轉(zhuǎn)發(fā)的信息(可自定義轉(zhuǎn)發(fā)的內(nèi)容)
頁(yè)面中有可以觸發(fā)轉(zhuǎn)發(fā)時(shí)間的地方有兩個(gè):
一個(gè)是右上角菜單中的轉(zhuǎn)發(fā)按鈕
另一個(gè)是頁(yè)面中具有屬性open-type且其值為share的button。(注:必須是button組件,其他組件中設(shè)置 open-type="share"
無效)
即:
<button data-name="shareBtn" open-type="share">轉(zhuǎn)發(fā)</button>
注意:實(shí)際開發(fā)中會(huì)發(fā)現(xiàn)這個(gè) button 自帶有樣式,當(dāng)背景顏色設(shè)置為白色的時(shí)候還有一個(gè)黑色的邊框,剛開始那個(gè)邊框怎么都去不掉,后來給button加了一個(gè)樣式屬性 plain="true"
以后,再在樣式文件中控制樣式 button[plain]{ border:0 }
,就可以比較隨便的自定義樣式了,比如說將分享按鈕做成一個(gè)圖標(biāo)等
觸發(fā)分享事件后調(diào)用的函數(shù):
onShareAppMessage: function( options ){ var that = this; // 設(shè)置菜單中的轉(zhuǎn)發(fā)按鈕觸發(fā)轉(zhuǎn)發(fā)事件時(shí)的轉(zhuǎn)發(fā)內(nèi)容 var shareObj = { title: "轉(zhuǎn)發(fā)的標(biāo)題", // 默認(rèn)是小程序的名稱(可以寫slogan等) path: '/pages/share/share', // 默認(rèn)是當(dāng)前頁(yè)面,必須是以‘/'開頭的完整路徑 imageUrl: '', //自定義圖片路徑,可以是本地文件路徑、代碼包文件路徑或者網(wǎng)絡(luò)圖片路徑,支持PNG及JPG,不傳入 imageUrl 則使用默認(rèn)截圖。顯示圖片長(zhǎng)寬比是 5:4 success: function(res){ // 轉(zhuǎn)發(fā)成功之后的回調(diào) if(res.errMsg == 'shareAppMessage:ok'){ } }, fail: function(){ // 轉(zhuǎn)發(fā)失敗之后的回調(diào) if(res.errMsg == 'shareAppMessage:fail cancel'){ // 用戶取消轉(zhuǎn)發(fā) }else if(res.errMsg == 'shareAppMessage:fail'){ // 轉(zhuǎn)發(fā)失敗,其中 detail message 為詳細(xì)失敗信息 } }, complete: fucntion(){ // 轉(zhuǎn)發(fā)結(jié)束之后的回調(diào)(轉(zhuǎn)發(fā)成不成功都會(huì)執(zhí)行) } }; // 來自頁(yè)面內(nèi)的按鈕的轉(zhuǎn)發(fā) if( options.from == 'button' ){ var eData = options.target.dataset; console.log( eData.name ); // shareBtn // 此處可以修改 shareObj 中的內(nèi)容 shareObj.path = '/pages/btnname/btnname?btn_name='+eData.name; } // 返回shareObj return shareObj; }
希望本文所述對(duì)大家微信小程序開發(fā)有所幫助。
相關(guān)文章
javascript div 遮罩層封鎖整個(gè)頁(yè)面
在客戶端瀏覽器中,可以在某個(gè)時(shí)機(jī)使用javascript把一個(gè)div作為遮罩層,來封鎖整個(gè)頁(yè)面。2009-07-07BootStrap實(shí)現(xiàn)樹形目錄組件代碼詳解
這篇文章主要介紹了BootStrap實(shí)現(xiàn)樹形目錄組件代碼詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06JavaScript實(shí)現(xiàn)窗口抖動(dòng)效果
抖動(dòng)效果在各大網(wǎng)頁(yè)上都常遇到,這篇文章主要介紹了JavaScript實(shí)現(xiàn)窗口抖動(dòng)效果的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10簡(jiǎn)單實(shí)現(xiàn)js浮動(dòng)框
這篇文章主要為大家詳細(xì)介紹了如何簡(jiǎn)單實(shí)現(xiàn)js浮動(dòng)框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12JavaScript 監(jiān)聽組合按鍵思路及代碼實(shí)現(xiàn)
這篇文章主要介紹了JavaScript 監(jiān)聽組合按鍵思路及代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07使用validate.js實(shí)現(xiàn)表單數(shù)據(jù)提交前的驗(yàn)證方法
這篇文章主要介紹了使用validate.js實(shí)現(xiàn)表單數(shù)據(jù)提交前的驗(yàn)證方法,文中給大家提供了完整代碼,需要的朋友可以參考下2018-09-09小程序如何實(shí)現(xiàn)中間帶加號(hào)的tabbar
自定義tabBar可以讓開發(fā)者更加靈活地設(shè)置tabBar樣式,以滿足更多個(gè)性化的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于小程序如何實(shí)現(xiàn)中間帶加號(hào)tabbar的相關(guān)資料,需要的朋友可以參考下2022-04-04webpack學(xué)習(xí)筆記之優(yōu)化緩存、合并、懶加載
這篇文章主要介紹了webpack學(xué)習(xí)筆記之優(yōu)化緩存、合并、懶加載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08一個(gè)JavaScript防止表單重復(fù)提交的實(shí)例
防止重復(fù)表單提交的方法有很多,本文使用JavaScript來實(shí)現(xiàn)防止表單重復(fù)提交,很簡(jiǎn)單,但很實(shí)用,新手朋友們不要錯(cuò)過2014-10-10