基于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 相关文章推荐
javascript iframe内的函数调用实现方法
Jul 19 Javascript
Javascript学习笔记4 Eval函数
Jan 11 Javascript
JavaScript和JQuery实用代码片段(一)
Apr 07 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
Oct 24 Javascript
如何将JS的变量值传递给ASP变量
Dec 10 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
Oct 25 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 Javascript
JavaScript获取URL汇总
Jun 08 Javascript
微信小程序 Tab页切换更新数据
Jan 05 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
Oct 09 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
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
纯css实现窗户玻璃雨滴逼真效果
2015/08/23 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
简析Python的闭包和装饰器
2016/02/26 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
python如何将图片转换为字符图片
2020/08/19 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python3 字符串知识点学习笔记
2020/02/08 Python
python在地图上画比例的实例详解
2020/11/13 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
Android笔试题总结
2014/11/29 面试题
四年大学生活的个人自我评价
2013/12/11 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
具结保证书范本
2015/05/11 职场文书
教师外出学习心得体会
2016/01/18 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android
一级电子管军用接收机测评
2022/04/05 无线电
Python字符串格式化方式
2022/04/07 Python