在微信里,其實可以改變“分享到朋友圈”和“轉發給好友”的默許行動。這些js接口,截止到今天(安卓版微信6.0)還是不公然的,微信的官方文檔里完全沒有提到,但是其實借助WeixinJSBridge是可以做到的
可以控制以下幾種行動
默許是微信自動截取當前頁面中第1張大圖,也就是<img>標簽,而且width要超過1定的值。display:none和background-image是不算的,只能是<img>標簽
但是通過傳遞參數,可以自己指定1張圖片
默許分享的是當前頁面,通過定制,可以指定1個URL,點擊后會跳轉到此URL
分享文本的標題,只對“轉發給好友”有效,“分享到朋友圈”不顯示標題。默許會取當前頁面的<head> -> <title>的內容,可以設置成任意文本
分享文本的內容。在“轉發給好友”時,默許是當前頁面的URL。在“分享到朋友圈”時,默許是<head> -> <title>的內容,可以設置成任意文本
在朋友圈看不到(但是從APP里調用SDK分享到朋友圈,可以顯示),“轉發給好友”可以在左下角看到。這個行動比較復雜,如果轉發的是1個圖文消息,就是鏈接是mp.weixin.qq.com/s?__biz=xxxx這類的,左下角默許會帶公眾號的名字,但是不會有圖片;否則的話,不會有簽名。然后可以設置1個app_id,那末就都會顯示簽名。有趣的是,這里的app_id可以任意填,只要你能知道。而且如果填的是公眾號的app_id,就不會有圖片,圖片的位置是1個白色小方塊;如果填的是騰訊開放平臺的app_id,就會帶上1個圖片
分享到朋友圈,和轉發給好友以后,其實在頁面里都會得到js回調,而且是不同的回調,比如開始轉發,取消轉發,轉發成功,每一個階段都會有回調函數。這個小秘密有時候非常有用,由于開發者就能夠控制轉發以后的行動。但是微信本身的態度是不鼓勵引導分享,強迫分享的,所以這些接口1直沒有公然,而且也許有1天突然就被封了也說不定。畢竟不是沒有先例,曾連關注公眾號都是有JS API了,現在早就不能用了
另外,android版的微信有BUG,只要用戶點了轉發到朋友圈,回調就會立刻被調用,不管以后用戶是不是真的分享,應當是android版微信的BUG,這個版本至今也沒有修復。iOS版的微信沒有這個BUG,所有回調都可以正確履行
可以直接通過WeixinJSBridge實現本文說的功能,但是明顯有更好的辦法,用WeixinAPI這個第3方庫,可以更容易地實現這些功能,在github上就能夠找到,以下是最簡單的示例代碼,詳細的文檔見主頁說明