基于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 ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
JS中图片缓冲loading技术的实例代码
Aug 29 Javascript
屏蔽相应键盘按钮操作
Mar 10 Javascript
js获取鼠标点击的位置实现思路及代码
May 09 Javascript
JavaScript获取当前cpu使用率的方法
Dec 15 Javascript
javascript的函数劫持浅析
Sep 26 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
Feb 13 Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 Javascript
jQuery中$原理实例分析
Aug 13 jQuery
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
Apr 30 Javascript
vue移动端的左右滑动事件详解
Jun 17 Javascript
antd配置config-overrides.js文件的操作
Oct 31 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/05/10 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
Jquery 数组操作大全个人总结
2013/11/13 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
vue如何引入sass全局变量
2018/06/28 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
用python实现百度翻译的示例代码
2018/03/09 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
python+OpenCV实现图像拼接
2020/03/05 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
农民致富事迹材料
2014/01/23 职场文书
自荐信如何制作?
2014/02/21 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
创业计划之特色精品店
2019/08/12 职场文书
OpenCV实现反阈值二值化
2021/11/17 Java/Android
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB