基于js实现微信发送好友如何分享到朋友圈、微博


Posted in Javascript onNovember 30, 2015

微信浏览器内置了javascript私有对象WeixinJSBridge,可以实现发送给朋友、分享到朋友圈、分享到微博等功能。

<script>
  var imgUrl = "图片地址";
  var lineLink = "当前网址";
  var descContent = "描述";
  var shareTitle = '标题';
  var appid = '';
  function shareFriend() {
   WeixinJSBridge.invoke('sendAppMessage',{
    "appid": appid,
    "img_url": imgUrl,
    "img_width": "200",
    "img_height": "200",
    "link": lineLink,
    "desc": descContent,
    "title": shareTitle
   }, function(res) {
    //_report('send_msg', res.err_msg);
   })
  }
  function shareTimeline() {
   WeixinJSBridge.invoke('shareTimeline',{
    "img_url": imgUrl,
    "img_width": "200",
    "img_height": "200",
    "link": lineLink,
    "desc": descContent,
    "title": shareTitle
   }, function(res) {
     //_report('timeline', res.err_msg);
   });
  }
  function shareWeibo() {
   WeixinJSBridge.invoke('shareWeibo',{
    "content": descContent,
    "url": lineLink,
   }, function(res) {
    //_report('weibo', res.err_msg);
   });
  }
  // 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。
  document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
   // 发送给好友
   WeixinJSBridge.on('menu:share:appmessage', function(argv){
    shareFriend();
   });
   // 分享到朋友圈
   WeixinJSBridge.on('menu:share:timeline', function(argv){
    shareTimeline();
   });
   // 分享到微博
   WeixinJSBridge.on('menu:share:weibo', function(argv){
    shareWeibo();
   });
  }, false);
</script>

在微信公众平台前端网页上添加分享到朋友圈,关注微信等按钮

微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享到朋友圈,关注微信号等按钮。

微信内嵌浏览器

通过 Mac 远程调试 iPhone 上微信自己的网页,我们可以发现微信内嵌浏览器定义了一个私有 JavaScript 对象:WeixinJSBridge,通过操作这个对象的相关方法可以实现分享到微信朋友圈,和判断一个微信号的关注状态以及实现关注指定微信号等功能。

分享到朋友圈

function weixinShareTimeline(title,desc,link,imgUrl){
 WeixinJSBridge.invoke('shareTimeline',{
 "img_url":imgUrl,
 //"img_width":"640",
 //"img_height":"640",
 "link":link,
 "desc": desc,
 "title":title
 }); 
}

发送给好友

function weixinSendAppMessage(title,desc,link,imgUrl){
 WeixinJSBridge.invoke('sendAppMessage',{
 //"appid":appId,
 "img_url":imgUrl,
 //"img_width":"640",
 //"img_height":"640",
 "link":link,
 "desc":desc,
 "title":title
 });
}

分享到腾讯微博

function weixinShareWeibo(title,link){
 WeixinJSBridge.invoke('shareWeibo',{
 "content":title + link,
 "url":link
 });
}

关注指定的微信号

function weixinAddContact(name){
 WeixinJSBridge.invoke("addContact", {webtype: "1",username: name}, function(e) {
 WeixinJSBridge.log(e.err_msg);
 //e.err_msg:add_contact:added 已经添加
 //e.err_msg:add_contact:cancel 取消添加
 //e.err_msg:add_contact:ok 添加成功
 if(e.err_msg == 'add_contact:added' || e.err_msg == 'add_contact:ok'){
  //关注成功,或者已经关注过
 }
 })
}
Javascript 相关文章推荐
将jQuery应用于login页面的问题及解决
Oct 17 Javascript
JavaScript词法作用域与调用对象深入理解
Nov 29 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
Jun 25 Javascript
浅析Bootstrap验证控件的使用
Jun 23 Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
Angular数据绑定机制原理
Apr 17 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
js canvas实现写字动画效果
Nov 30 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
Oct 26 Javascript
vant中的toast层级改变操作
Nov 04 Javascript
全面解析Bootstrap排版使用方法(文字样式)
Nov 30 #Javascript
javascript中eval和with用法实例总结
Nov 30 #Javascript
JavaScript基础篇(3)之Object、Function等引用类型
Nov 30 #Javascript
全面解析Bootstrap排版使用方法(标题)
Nov 30 #Javascript
javascript作用域链(Scope Chain)用法实例解析
Nov 30 #Javascript
Bootstrap每天必学之js插件
Nov 30 #Javascript
Bootstrap每天必学之面板
Nov 30 #Javascript
You might like
将OICQ数据转成MYSQL数据
2006/10/09 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
js 分页全选或反选标识实现代码
2011/08/09 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
10 分钟快速入门 Python3的教程
2019/01/29 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
2014自主招生自荐信策略
2014/01/27 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
2019财务毕业实习报告
2019/06/27 职场文书