基于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 相关文章推荐
JSON格式化输出
Nov 10 Javascript
jquery+php实现搜索框自动提示
Nov 28 Javascript
javaScript中slice函数用法实例分析
Jun 08 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
Jun 18 Javascript
Javascript实现的Map集合工具类完整实例
Jul 31 Javascript
JS 数字转换为大写金额的简单实例
Aug 04 Javascript
完美解决IE不支持Data.parse()的问题
Nov 24 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
老生常谈js数据类型
Aug 03 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
Aug 17 Javascript
JavaScript变量基本使用方法实例分析
Nov 15 Javascript
JS通用方法触发点击事件代码实例
Feb 17 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抽象工厂模式(Elgg)
2010/03/21 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php网页病毒清除类
2014/12/08 PHP
js操作textarea 常用方法总结
2012/12/03 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
python Django连接MySQL数据库做增删改查
2013/11/07 Python
pyramid配置session的方法教程
2013/11/27 Python
python使用pymysql实现操作mysql
2016/09/13 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
Python 打印中文字符的三种方法
2018/08/14 Python
python 等差数列末项计算方式
2020/05/03 Python
python 写一个水果忍者游戏
2021/01/13 Python
会计求职信范文
2014/05/24 职场文书
班级活动总结格式
2014/08/30 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
前台文员岗位职责
2015/02/04 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
小学体育教学随笔
2015/08/14 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书