利用WeixinJSBridge,控制分享到朋友圈和转发给好友的行为
来源:互联网 发布:淘宝店铺模板复制 编辑:程序博客网 时间:2024/04/27 13:33
在微信里,其实可以改变“分享到朋友圈”和“转发给好友”的默认行为。这些js接口,截止到今天(安卓版微信6.0)还是不公开的,微信的官方文档里完全没有提到,但是其实借助WeixinJSBridge是可以做到的
分享行为
可以控制以下几种行为
缩略图
默认是微信自动截取当前页面中第一张大图,也就是<img>标签,而且width要超过一定的值。display:none和background-image是不算的,只能是<img>标签
但是通过传递参数,可以自己指定一张图片
分享页面
默认分享的是当前页面,通过定制,可以指定一个URL,点击后会跳转到此URL
标题
分享文本的标题,只对“转发给好友”有效,“分享到朋友圈”不显示标题。默认会取当前页面的<head> -> <title>的内容,可以设置成任意文本
内容
分享文本的内容。在“转发给好友”时,默认是当前页面的URL。在“分享到朋友圈”时,默认是<head> -> <title>的内容,可以设置成任意文本
左下角的小签名
在朋友圈看不到(但是从APP里调用SDK分享到朋友圈,可以显示),“转发给好友”可以在左下角看到。这个行为比较复杂,如果转发的是一个图文消息,就是链接是mp.weixin.qq.com/s?__biz=xxxx这种的,左下角默认会带公众号的名字,但是不会有图片;否则的话,不会有签名。然后可以设置一个app_id,那么就都会显示签名。有趣的是,这里的app_id可以任意填,只要你能知道。而且如果填的是公众号的app_id,就不会有图片,图片的位置是一个白色小方块;如果填的是腾讯开放平台的app_id,就会带上一个图片
回调行为
分享到朋友圈,和转发给好友之后,其实在页面里都会得到js回调,而且是不同的回调,比如开始转发,取消转发,转发成功,每个阶段都会有回调函数。这个小秘密有时候非常有用,因为开发者就可以控制转发之后的行为。但是微信本身的态度是不鼓励引导分享,强制分享的,所以这些接口一直没有公开,而且或许有一天突然就被封了也说不定。毕竟不是没有先例,曾经连关注公众号都是有JS API了,现在早就不能用了
另外,android版的微信有BUG,只要用户点了转发到朋友圈,回调就会立刻被调用,不管之后用户是否真的分享,应该是android版微信的BUG,这个版本至今也没有修复。iOS版的微信没有这个BUG,所有回调都可以正确执行
lib
可以直接通过WeixinJSBridge实现本文说的功能,但是显然有更好的办法,用WeixinAPI这个第三方库,可以更容易地实现这些功能,在github上就可以找到,以下是最简单的示例代码,详细的文档见主页说明
var wxData = { "title": "标题写在这里", "link": "www.baidu.com", "appId": "your app_id", "desc": "the desc" }; var wxCallbacks = { confirm: function(resp) { // 当用户点击分享到朋友圈,就会触发此回调 } }; Api.shareToTimeline(wxData, wxCallbacks); Api.shareToFriend(wxData, {});
- 利用WeixinJSBridge,控制分享到朋友圈和转发给好友的行为
- 微信开发--分享到朋友圈和发送给好友
- 订制微信 发送给好友 分享到朋友圈 分享到微博
- 添加分享到朋友圈、发送给好友、分享等按钮
- 微信公众平台开发-分享到朋友圈和发送给好友和腾讯微博
- 微信公众平台开发(105) 分享到朋友圈和发送给好友
- 微信公众平台开发(107) 分享到朋友圈和发送给好友
- 微信公众平台开发----分享到朋友圈和发送给好友
- 微信公众平台开发(107) 分享到朋友圈和发送给好友
- UC浏览器 分享到朋友圈和微信好友
- 在网页上添加分享到朋友圈、发送给好友、分享等按钮
- 如何修改手机端分享网页给微信好友和朋友圈显示的图片和标题
- popuwindow下的微信好友和朋友圈分享
- android应用中分享到微信好友和朋友圈的实现
- 在微信浏览器中做分享到朋友圈和分享到好友
- 使用微信api将内容分享给好友,或者发送到朋友圈
- 使用微信api将内容分享给好友,或者发送到朋友圈
- 使用微信api将内容分享给好友,或者发送到朋友圈
- CentOS6.3源码安装mysql5.6.15
- 管理者的" 概念技能"
- Dijkstra算法——通过边实现松弛
- AN APPROACH OF VECTOR FIELD TEXTURE VISUALIZATION BASED ON FIELD DRIVEN STRENGTH算法实现
- ServletContextListener监听器
- 利用WeixinJSBridge,控制分享到朋友圈和转发给好友的行为
- 各种方程组解法的缩写及英文对照
- 【转】在线浏览PDF文件的实用jquery插件推荐
- dump文件产生和定位
- 表单FORM与GET方法的区别(表单)
- BZOJ3786 星系探索 蒟蒻出题人给跪
- AC自动机
- SpringMVC之HelloWord
- SQL语句整理