social-share,社会化分享组件之jquery版

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就介绍完毕了,希望对你有所帮助。

时间: 2024-11-10 10:40:28

social-share,社会化分享组件之jquery版的相关文章

Android第三期 - sharesdk社会化分享组件

网站分享比较简单的一句js就可以了,但是手机就没有这么简单了,要有点小复杂,刚学Android两个月了,也再用第三方的Android开发组件,现在介绍给大家sharesdk.直接上代码!! 第一步:下载ShareSDK 官网 http://share.sharesdk.cn/Download 第二步:集成ShareSDK 进入ShareSDK解压目录,打开"Share SDK for Android"目录,可以找到"QuickIntegrater.jar",这个就是

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

Android应用开发-小巫CSDN博客客户端之集成友盟社会化分享组件 上一篇博客给大家介绍了如何分析网页并且使用jsoup这个库对html代码进行解析,本篇博客继续给大家介绍如何集成友盟社会化组件,如何使用SDK提供的API轻松实现多平台的社会化分享,官网的文档和Demo看起来很头疼的有木有,小巫在集成这个社会化的组件也有点烦躁,所以也需要各位耐心看下面的博文把友盟社会化组件集成到你的应用中去.为什么要选择友盟呢,这里也是答应了小喵的,要帮忙集成他们的服务,所以也顺带帮他们写一篇这样的博文,千

社会化分享组件哪个好用

你的项目做好了,所有的功能完善了,怎么增加传递性和宣传的互动性呢?社会化媒体分享工具是你必不可少的引流神器,社会化媒体就是“能互动的媒体”,能给受众提供一种极大的参与空间.社会化媒体改变以往媒体一对多的传播方式为多对多的“讨论”. 百度社会化分享 该组件提供Android,IOS,webapp 三大移动平台的SDK集成.支持新浪微博,qq,腾讯微博,开心网,人人网5个平台的分享,SSO免去在第三方登陆步骤,提供多种组件皮肤定制,屏幕截图一次分享,提供全面的分享数据统计.对于开发者而言,只要掌握基

社会化分享组件哪个好用?

你的项目做好了,所有的功能完善了,怎么增加传递性和宣传的互动性呢?社会化媒体分享工具是你必不可少的引流神器,社会化媒体就是“能互动的媒体”,能给受众提供一种极大的参与空间.社会化媒体改变以往媒体一对多的传播方式为多对多的“讨论”. 百度社会化分享 该组件提供Android,IOS,webapp 三大移动平台的SDK集成.支持新浪微博,qq,腾讯微博,开心网,人人网5个平台的分享,SSO免去在第三方登陆步骤,提供多种组件皮肤定制,屏幕截图一次分享,提供全面的分享数据统计.对于开发者而言,只要掌握基

iOS社会化分享(干货)

一.苹果原生集成的社会化分享 1.哪些平台 (1)Twitter (2)FaceBook (3)Flickr (4)Vimeo (5)新浪微博  :iOS6 (6)腾讯微博 : iOS7 2.框架 :social.framework,很简单的框架,内容不多. 3.应用场景(不只是原生的分享) (1)通过用户的分享,实现口碑营销 (2)就是广告 (3)形式很多,比如红包,推广 4.使用方式 (1)提供一个控制器SLComposeViewController,这个控制器包含一些属性和方法 <1>添

社会化分享功能常用网站

手机端APP: 社会化分享组件 ShareSDK你值得拥有 友盟社会化分享组件 网页版 JiaThis bShare 百度分享

积分分享组件——友推

app 的分享传播是否大同小异?尤其是游戏类应用,分享送金币.送水晶,邀请好友送极品神宠……传播渠道也无非是各类社交网站——QQ 空间.人人网.微信.微博. 据统计,中国移动应用市场 Top100 的 app 有 46% 涉及社交元素,在 Top1000 中,这个比例上升至 55%.社会化分享组件已经逐渐成为 app 开发的标准,而组件本身也在标准化——然而这个过程也存在问题.涉及社交元素,并不代表社交元素有意义:含有社会化分享组件,不代表用户会将 app 分享出去.事实上,除了游戏类及新闻资讯

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

前段时间公司需要,逐步了新浪微博.腾讯qq.微信等授权登录验证的问题.如果要一个个申请,看文档写代码也是很多流程的.干脆用友盟社会化Android组件之第三方登录.友盟是集成了这些平台,还有其他主流的平台的.我在这里主要讲一下友盟里面微博登录.先看看友盟是怎么介绍自已的. 一.友盟社会化分享介绍 友盟社会化分享组件,帮助移动应用快速具备微信分享,微博分享.登录.评论.喜欢等社会化组件功能,助力产品推广,并提供实时.全面的社会化数据统计分析服务,是国内最大的社会化分享SDK. 支持各大社交平台 精

iOS友盟社会化分享完全攻略

1 简介 现如今几乎所有人都有社交账号和社交App,而分享功能也几乎随处可见.本文的目的在于介绍分享功能的基本实现.使用的是友盟的社会化分享组件,这样就不用一个一个对接各个平台的接口,可以使用一套接口来实现多个平台的分享功能.本文以分享到微信.QQ.微博为例. 2 开发者账号 这里说的不是创建苹果的开发者账号,而是创建友盟和各个要分享到的平台的开发者账号.和苹果开发者账号一样,要使用友盟的服务,要分享到各个平台,都需要对应的开发者账号去获取key. 2.1 友盟开发者账号及key 打开友盟的首页