Skip to content

Latest commit

History

178 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Share.js

🚨 此项目已经年久失修,其实分享就是一个个链接而已,每个链接里传递一些内容,所以定制需求比较高的话建议自己实现,没啥难度。 URL 写法请参考:https://github.com/overtrue/share.js/blob/master/src/js/social-share.js#L56-L64

一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等社交网站。

qq20151127-1 2x

安装

有3种安装方式:

  1. 使用 npm

    npm install social-share.js
  2. 使用 bower

    bower install social-share.js
  3. 使用 cdnjs,引入 share.min.csssocial-share.min.js 两个链接就好。 (感谢 @mdluo)

  4. 手动下载或者 git clone 本项目。

使用

HTML:

<divclass="social-share"></div><!-- css & js --><linkrel="stylesheet" href="dist/css/share.min.css"><scriptsrc="dist/js/social-share.min.js"></script>
// 当你使用类名为 `social-share` 时不需要手动初始化

自定义配置

所有配置可选, 通常默认就满足需求:

可用的配置有:

url : '',// 网址,默认使用 window.location.hrefsource : '',// 来源(QQ空间会用到), 默认读取head标签:<meta name="site" content="http://overtrue" />title : '',// 标题,默认读取 document.title 或者 <meta name="title" content="share.js" />origin : '',// 分享 @ 相关 twitter 账号description : '',// 描述, 默认读取head标签:<meta name="description" content="PHP弱类型的实现原理分析" />image : '',// 图片, 默认取网页中第一个img标签sites : ['qzone','qq','weibo','wechat','douban'],// 启用的站点disabled : ['google','facebook','twitter'],// 禁用的站点wechatQrcodeTitle : '微信扫一扫:分享',// 微信二维码提示文字wechatQrcodeHelper : '<p>微信里点“发现”,扫一下</p><p>二维码便可将本文分享至朋友圈。</p>'

示例代码:

var$config={title : '234',description : '123',wechatQrcodeTitle : "微信扫一扫:分享",// 微信二维码提示文字wechatQrcodeHelper : '<p>微信里点“发现”,扫一下</p><p>二维码便可将本文分享至朋友圈。</p>',};socialShare('.social-share-cs',$config);

以上选项均可通过标签 data-xxx 来设置:

驼峰转为中横线,如wechatQrcodeHelper 的data标签为data-wechat-qrcode-helper

禁用 google、twitter、facebook 并设置分享的描述
<divclass="share-component" data-disabled="google,twitter,facebook" data-description="Share.js - 一键分享到微博,QQ空间,腾讯微博,人人,豆瓣"></div>
设置微信二维码标题
<divclass="social-share" data-wechat-qrcode-title="请打开微信扫一扫"></div>
针对特定站点使用不同的属性(title, url, description,image...)
<divclass="social-share" data-weibo-title="这个标题只有的分享到微博时有用,其它标题为全局标题" data-qq-title="分享到QQ时用此标题"></div>

你也可以自定义图标

使用: data-initialized="true" 标签或者 initialized 配置项来禁用自动生成icon功能。

<divclass="social-share" data-initialized="true"><ahref="#" class="social-share-icon icon-weibo"></a><ahref="#" class="social-share-icon icon-qq"></a><ahref="#" class="social-share-icon icon-qzone"></a></div>

以上a标题会自动加上分享链接(a 标签必须带 icon-NAME 属性,不然分享链接不会自动加上)。

如果你想在分享icon列表中内置一些元素,比如放一个收藏按钮在分享按钮的后面:

<divclass="social-share"><ahref="javascript:;" class="social-share-icon icon-heart"></a></div>

这样并没有实现,因为结果是所有的分享按钮都创建在了收藏按钮的后面了,这时候你就可以用 data-mode="prepend" 来确定分享按钮创建的方式。

<divclass="social-share" data-mode="prepend"><ahref="javascript:;" class="social-share-icon icon-heart"></a></div>

这样,所有的分享图标就会创建在容器的内容前面,反之可以用 append 创建在容器内容后面,当然这是默认的,也不需要这么做。

指定移动设备上显示的图标

<divclass="share-component" data-mobile-sites="weibo,qq,qzone,tencent"></div>

当在手机上打开该页面的时候就只会显示这4个图标了。

欢迎贡献代码及提建议!

Requirejs

本插件支持使用Requirejs加载,Jquery版本参考如下:

requirejs.config({paths: {jquery: '//cdn.bootcss.com/jquery/2.2.4/jquery.min',share: '//cdn.bootcss.com/social-share.js/1.0.15/js/jquery.share.min'},shim: {share:['jquery']}})requirejs(['jquery','share'],function($){$('.target').share({// settings})})

无依赖版本直接加载即可,使用参考如下:

requirejs.config({paths: {share: '//cdn.bootcss.com/social-share.js/1.0.15/js/social-share.min'},})requirejs(['share'],function(){// ele:指定初始化的元素,可以是单个元素也可以是元素数组window.socialShare(ele,{// settings})})

引用

本项目中二维码生成部分用到了开源组件:lrsjng/jquery-qrcode (MIT License)

贡献你的代码

安装node_modules

npm install

进入开发模式

npm run dev

License

MIT

About

一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages