李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 读书观影
  • 系列
  • AI工具集
  • 论坛
  • 友圈
    • 友链
    • 朋友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • Now
    • 每日心情
    • 网站地图
    • 网站统计
    • 赞助
  • 星球穿梭
  • 🚇开往
静亦定 动亦定
惟坚韧者始能遂其志
  1. 首页
  2. 原创
  3. 正文

一款开源的社交分享插件——share.js

2019年10月15日 285 5 0
本文最后更新于 2019年10月15日,距今已 2585 天,其中的信息可能已经发生变化,请注意甄别。

偶然发现一个大佬制作的一个一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等社交网站的前端JS插件;发现效果不错分享一下。

页面效果:

GitHub地址:https://github.com/overtrue/share.js

使用起来也比较简单,只需要引用一个CSS文件和一个JS文件就可以了,然后页面中添加下面的代码就能简单方便的开始使用这款插件了:

<div class="social-share"></div>

<!--  css & js -->
<link rel="stylesheet" href="dist/css/share.min.css">
<script src="dist/js/social-share.min.js"></script>

// 当你使用类名为 social-share 时不需要手动初始化

自定义配置

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

可用的配置有:

url                 : '', // 网址,默认使用 window.location.href
source              : '', // 来源(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 并设置分享的描述
<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个图标了。

参考链接

1
  1. 1github.comgithub.com
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

一款开源的社交分享插件——share.js

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: JavaScript Share 社交分享
最后更新:2019年10月15日

岁月同一天 11 月 13 日

回望过去的今天,你在写什么

  • AI
    1 年前 2025年11月13日
    AI 协作新范式:以文档为中心的开发实践指南

    在 AI 编程工具(Trae、Cursor、GitHub Copilot)普及的今天,“写代码”已不再是开发者的核心瓶颈…

  • AI
    1 年前 2025年11月13日
    LangChain 1.0 智能体实战:MCP 协议赋能工具标准化调用(从开发到落地)

    在智能体(Agent)开发中,工具调用的标准化是提升开发效率、降低生态碎片化的关键。模型上下文协议(Model Cont…

  • 7 年前 2019年11月13日
    通俗解释下Spring的Ioc原理

    1. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过…

  • 7 年前 2019年11月13日
    分布式事务的 N 种实现

    需求缘起 在微服务架构中,随着服务的逐步拆分,数据库私有已经成为共识,这也导致所面临的分布式事务问题成为微服务落地过程中…

  • 其他
    7 年前 2019年11月13日
    我是如何失去团队掌控的?

    我是一个不合格的技术总监,在过去的快三个月里。我带着从40多个人的研发团队(包含需求、开发、测试)里抽调出20多个人去为…

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

还没有评论,快来抢沙发吧~

我亦飘零久,十年来,深恩负尽,死生师友。

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
给服务器加了WAF 又一个逆天改命的人:小小徐 AI的生成能力等于生产力吗? NGINX严重漏洞(CVE-2026-15176、CVE-2026-93479、CVE-2026-97205) Kratos-plus v1.1.27更新说明 php2shell远程执行漏洞修复(CVE-2026-109618 和 CVE-2026-109619)
给主题增加了游客中心功能心气没了,干什么都不得劲给服务器加了WAF我觉得是时候公布我的导航网站了游本昌去世关于主题加载速度优化的一点儿小演进
Kubernetes(K8s)的Service运行原理 【PostgreSQL 15】PostgreSQL 15对UNIQUE和NULL的改进 6款核心MCP协议工具让AI深度融入业务,告别“纸上谈兵” 秦始皇为什么焚书坑儒? 支撑全网40%网站的WordPress正在重新拥抱PHP生态 你们公司的 QPS 是怎么统计出来的?这 5 种常见方法我踩过一半的坑
最近评论
李锋镝 发布于 3 天前(11月09日) 我也刷到了,说是恶意引流的
皮皮社长 发布于 3 天前(11月09日) 我刷到的,怎么是说剧本骗流量的?如果真的是用来骗流量,那真恶心。欺骗网友感情。
李锋镝 发布于 3 天前(11月09日) 现在我这个是十个,其实也够用了
老张博客 发布于 3 天前(11月09日) 雷池唯一不好的就是只能免费5个网站。
fairy 发布于 6 天前(11月06日) 机器人快来我这里吧!
标签聚合
多线程 AI 日常 数据库 SQL Redis JVM K8s IDEA Theme 架构 AI编程 JAVA ElasticSearch WordPress Spring 分布式 MySQL Claude SpringBoot
友情链接
  • 老张博客
  • 皮皮社
  • lijie blog
  • Mr.Sun的博客
  • Honesty
  • 韩情脉脉
  • sssr7844的博客
  • 哥斯拉
  • 九仞之行
  • 韩小韩博客
  • Serendipity
  • 懋和道人
  • 志文工作室
  • 彬红茶日记
  • 林羽凡
  • 搬砖日记
  • 知向前端
  • 瓦匠个人小站
  • 刘永博客

COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

lifengdi.com 十年之约虫洞

Domain age badge for lifengdi.com

Theme Kratos-plus By Dylan Li

津ICP备2024022503号-3

京公网安备11011502039375号