social-share,诚如其简洁所述“支持微信(二维码)、微博、Github、Google++、LinkedIn、Twitter、Facebook、RSS…, 支持四种大小设置”,够简洁,够漂亮。之前使用的“百度分享”组件,却发现可恶的植入了后台广告,页面刷新一次,广告就加载一次,让人生厌。今天有幸发现这款轻量级的social-share,真让人爱不释手,所以借此机会推广给更多需要的人。

原生的social-share(可通过harttle/social-sharegit进行下载)有两点遗憾:

  1. 不支持QQ空间的分享。
  2. 分享新浪时只限于文字说明,缺少图片的支持。

那么现在呢,我们来解决掉上述两个问题。

一、效果图

没有制作gif动画,图片看起来有些单调了。那么有必要通过文字描述介绍一下:

  1. 百度分享的对象过于繁杂,让人有些眼花缭乱;就目前国内的社会化交流平台来说,QQ空间、新浪微博、微信的用户基数足够多,那么选定这三家,我认为更便于流量的传播。
  2. 页面布局超清爽,参数配置超简单。
  3. 没有任何多余的代码植入,更不会植入广告。

二、实例讲解

①、引入jquery.js和font-awesome.css

<link href="//cdn.bootcss.com/font-awesome/4.6.3/css/font-awesome.css" rel="stylesheet">
<script type="text/javascript" src="${ctx}/components/jquery/jquery-1.9.1.min.js"></script>

tips:

对于jquery,特别不建议使用cdn,因为很难保证cdn的网络一直通畅,一旦jquery没有引入,整个项目几乎处于瘫痪状态。那么,你可能会问:“既然如此,为啥你的font-awesome.css要用cdn呢?”,我的回答是:“font-awesome.css版本更迭很频繁,再加上缺少font-awesome.css,项目只会在某一些式样上没有效果,影响不大。”

②、引入qrcode.min.js

<script type="text/javascript" src="${ctx}/components/share/qrcode.min.js"></script>

二维码的生成。

③、social-share.css

.social-share .qqzone a {background-position: 0 -756px;background-image: url("../../assets/images/bgs.png");background-repeat: no-repeat;
}

为qq空间加上图标式样。这里用的是我本地的(你酌情处理),font-awesome最新版中暂时还没有加入qq空间的图标。

其他式样不需要改动,再重复一次,原生文件从harttle/social-share git官网下载。

④、social-share.js

function render(link, config) {var cls = 'fa-' + (config.classMapping[link.style] || link.style), $li = $('<li class="social-share-item">'), $a = $('<a>', {// 此处为href上添加图片的路径href : link.url.replaceAll('{pic}', config.pic) || '#'}), $i = $('<i>', {class : 'fa ' + cls});$a.append($i);if (config.blank)$a.attr('target', '_blank');$li.append($a);$li.addClass(link.style);if ([ 'wechat', 'qrcode' ].indexOf(link.style) > -1) {$a.removeAttr('target');$li.click(function() {qrCodeHandler(link.url);return false;});}return $li;
}

在原生的social-share.js文件上,只需要按照注释中的提示,在a标签的href上加上图片的路径,至于使用怎样的方法,你可以自行处理。qq空间分享、新浪微博分享、微信分享,其关键之所在于a标签的href属性如何封装,那么接下来看如何通过以下三个步骤来配置a标签的href属性。

⑤、a标签的href

var YUNM = {linkArr : [ {style : 'qqzone',url : 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?pics={pic}&' + $.param({title : document.title,url : encodeURIComponent(location.href)}),}, {style : 'weibo',url : 'http://v.t.sina.com.cn/share/share.php?pic={pic}&' + $.param({appid : 'xxx',title : document.title,url : encodeURIComponent(location.href)})}, {style : 'wechat',url : location.href} ],
}

为social-share定义linkArr,也就是封装好a标签的href属性值。

  • qq空间

    • style定义为qqzone
    • url的参数变量值主要有pics、title 、url (假如URL不正确的话,用firebug可查看qq空间分享的提示错误)
  • 新浪微博
    • style定义为weibo
    • url的参数变量值主要有pic(和qq空间不同)、title 、url
  • 微信
    • style定义为wechat
    • url为location.href,生成二维码用

⑥、页面布局

<section class="xs" pic="${deal.attrs.image_str}"></section>
  1. class定义为xs,开篇有提到social-share有四种大小设置,xs为最小,原生demo中有例子。
  2. pic,传递对应的分享图片,目前支持一张图片,多图暂未了解。

⑦、加载social-share

$(function() {// 分享$('section.xs', $p).each(function() {var $this = $(this);YUNM.debug('section.xs' + $this.selector);$this.socialShare(YUNM.linkArr, {size : 'xs',pic : $this.attr("pic")});});
});

将图片pic传递到social-share。


到此为止,jquery版的社会化分享组件social-share就介绍完毕了,希望对你有所帮助。

social-share,社会化分享组件之jquery版相关推荐

  1. ShareSDK移动APP社会化分享组件

    ShareSDK简介 ShareSDK是为iOS.Android.WP8的APP提供社会化分享功能的一个组件,开发者只需10分钟即可集成到自己的APP中,它不仅支持如QQ.微信.新浪微博.腾讯微博.开 ...

  2. Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件

    Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件, ...

  3. Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件,2021最新Android框架体系架构面试题

    下面是详细的集成过程: 首先来到官网:http://www.umeng.com/ 选择社会化分享,进入查看这个产品的介绍,下载对应平台的SDK,笔者这里自然是选择Android平台: 笔者集成友盟社会 ...

  4. 百度社会化分享组件使用问题

    今天下午玩了玩百度的社会化分享sdk,我是在这下载的sdk  http://developer.baidu.com/frontia/sdk 谁知道这个下载链接是没更新的,还是1.0版本的,是尼玛13年 ...

  5. Vue中Share.js分享组件

    Share.js是一款一键转发工具,它可以一键分享到新浪微博.微信.QQ空间.QQ好友.腾讯微博.豆瓣.Facebook组件.Twitter.Linkedin.Google+.点点等社交网站,使用字体 ...

  6. 记录一次使用jiaThis社会化分享组件遇到的坑!!

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中用过几次jiaThis了,使用的是自定义的模式,前面几次都没有发现什么问题,但是这次却出现一个很奇葩的问题. 问题背景 ...

  7. 友盟社会化分享之自定义内容分享到微信,微博,豆瓣

    以前移动端要做分享的时候一般是两种方法,要么使用Intent调用安卓系统自带的分享功能接口,这是最简单快捷的方法, 要么就自己去QQ微信和各个微博等社交网站申请开发者ID和key,然后在看他们的官方文 ...

  8. Android集成友盟社会化分享

    现在社会化分享组件有很多友推.Mob的ShareSDK.友盟社会化分享组件等,前面两种以前在做项目的时候用到过,最近的项目需要实现分享视频到各社交平台,对比了这三种组件觉得友盟社会化分享组件更适合这个 ...

  9. 友盟社会化Android组件之第三方登录

    前段时间公司需要,逐步了新浪微博.腾讯qq.微信等授权登录验证的问题.如果要一个个申请,看文档写代码也是很多流程的.干脆用友盟社会化Android组件之第三方登录.友盟是集成了这些平台,还有其他主流的 ...

  10. ShareSDK让你的APP实现社会化分享功能

    2019独角兽企业重金招聘Python工程师标准>>> 如今的app中,几乎都包含了分享这个功能,十分的常用 常见实现方式: 1. 系统自带分享 2. 使用社会化分享组件(如shar ...

最新文章

  1. 【python教程入门学习】Pandas库下载和安装
  2. hamap java_一篇文章,让你真正了解Java
  3. 【自动驾驶/opencv】32.交通灯颜色提取的难点
  4. “物联网”架构有多重要?
  5. 方位话机同一号码双链路注册实现冗余
  6. 理论基础 —— 查找 —— 二分查找
  7. 光线求交加速算法:边界体积层次结构(Bounding Volume Hierarchies)3-LBVH(Linear Bounding Volume Hierarchies)
  8. 剪板机自动上下料_全自动上下料机械手系统的优势
  9. C语言和设计模式(代理模式)
  10. 将CSV文件存为HTML文件形式
  11. java 判断是否包含中文_Java 判断字符串是否包含中文正则表达式
  12. 跟着 Microsoft 跑!
  13. URAL 1732. Ministry of Truth ( KMP 多模式串匹配 )
  14. 京东联盟高级API - 高并发京东联盟转链接口 京东客转链接口 京粉转链接口 京东联盟接口,线报无广告接口
  15. ArcGIS自动矢量化~
  16. mysql emoy表情_emo表情包 - emo微信表情包 - emoQQ表情包 - 发表情 fabiaoqing.com
  17. 关注奢交所兄弟品牌佰家当 17年积累撬动万亿民资市场
  18. Java正则表达式 - Matcher
  19. python的类作用_从封装看类的作用
  20. 基于目标检测的狗品种识别及图像检索

热门文章

  1. Ubuntu18.04设置阿里源
  2. php接dicom,DICOM医学图像处理:WEB PACS初谈四,PHP DICOM Class
  3. dhtmlxgantt pro 7.1.10 | dhtmlxgantt 专业版 7.1.10
  4. es文件管理复制到fpt服务器,达人教你玩应用:ES文件浏览器之文件互传
  5. 嵌入式(二)——Jlink接口定义
  6. 计算机盘快捷键,电脑键盘快捷键全解
  7. 11 个超火的前端必备在线工具,终于有时间上班摸鱼了
  8. 【转载】CMMI与敏捷开发模式比较
  9. PHP响应式营销型万能H5建站系统源码
  10. 第十节 直流变直流电路(DCDC)芯片选型