Share.js是一款一键转发工具,它可以一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等社交网站,使用字体图标。细心的朋友可能已经发现,益吾库目前采用的就是此款插件。
该插件支持免JS代码配置,加载必要文件后,直接使用HTML标签也能输出显示。分别有原生JS和jQuery两种版本:social-share.min.js、jquery.share.min.js。
代码应用示例
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>一键分享转发工具share.js演示-益吾库</title> <link href="https://cdn.bootcss.com/social-share.js/1.0.16/css/share.min.css" rel="stylesheet"> <script src="https://cdn.bootcss.com/social-share.js/1.0.16/js/social-share.min.js" charset="utf-8"></script> </head> <body> <br><br><br><br><br><br><br><br><br><br> <div class="social-share"></div> <br><br>注:当你使用类名为 `social-share` 时不需要手动初始化 </body> </html>
API参数配置
url : '', // 网址,默认使用 window.location.href source : '', // 来源(QQ空间会用到), 默认读取head标签:<meta name="site" content="http://overtrue" /> title : '', // 标题,默认读取 document.title 或者 <meta name="title" content="share.js" /> 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>',
以上选项均可通过标签 data-xxx 来设置,驼峰转为中横线,如wechatQrcodeHelper 的data标签改为data-wechat-qrcode-helper即可。
禁用 google、twitter、facebook 并设置分享的描述
<div class="share-component" data-disabled="google,twitter,facebook" data-description="Share.js - 一键分享到微博,QQ空间,腾讯微博,人人,豆瓣"></div>
设置微信二维码标题
<div class="social-share" data-wechat-qrcode-title="请打开微信扫一扫"></div>
针对特定站点使用不同的属性(title, url, description,image...)
<div class="social-share" data-weibo-title="这个标题只有的分享到微博时有用,其它标题为全局标题" data-qq-title="分享到QQ时用此标题"></div>
自定义图标
使用: data-initialized="true" 标签或者 initialized 配置项来禁用自动生成icon功能。
<div class="social-share" data-initialized="true"> <a href="#" class="social-share-icon icon-weibo"></a> <a href="#" class="social-share-icon icon-qq"></a> <a href="#" class="social-share-icon icon-qzone"></a> </div>
以上a标题会自动加上分享链接(a 标签必须带 icon-NAME 属性,不然分享链接不会自动加上)。
如果你想在分享icon列表中内置一些元素,比如放一个收藏按钮在分享按钮的后面:
<div class="social-share"> <a href="javascript:;" class="social-share-icon icon-heart"></a> </div>
这样并没有实现,因为结果是所有的分享按钮都创建在了收藏按钮的后面了,这时候你就可以用 data-mode="prepend" 来确定分享按钮创建的方式。
<div class="social-share" data-mode="prepend"> <a href="javascript:;" class="social-share-icon icon-heart"></a> </div>
这样,所有的分享图标就会创建在容器的内容前面,反之可以用 append 创建在容器内容后面,当然这是默认的,也不需要这么做。
指定移动设备上显示的图标
<div class="share-component" data-mobile-sites="weibo,qq,qzone,tencent"></div>
当在手机上打开该页面的时候就只会显示这4个图标了。
二维码生成
本项目中二维码生成部分用到了开源组件:lrsjng/jquery-qrcode (MIT License)。
附BootCDN引用地址获取:http://www.bootcdn.cn/social-share.js/