用Share.js替换百度分享组件

用Share.js替换百度分享组件(图1)

目前除了百度分享外,网上用的比较多的一个是 bShare 和 JiaThis,比较让人郁闷的是,这两种也不支持 HTTPS ,虽然网上已经出来了解决办法,当时 bShare 的样式感觉太山寨了,有点让人无法接受,所以果断选择开源的 Share.js,配置简单,样式好看,没有乱七八糟的其它图标,非常干净!使用说明如下:

1. 下载官网源代码

https://overtrue.me/share.js/
从官网下载 Share.js 的源代码!

2. 安装

对于安装方式,官方提供了好几种,初梦博客推荐把刚才下载下来的里面的 dist 文件夹复制到自己的主题根目录里面,为后面调用做准备。

这里就很简单了,在主题文件的 header.php 文件的 </head> 标签前加入下面代码:

<!-- share.css -->
<link rel="stylesheet" href="dist/css/share.min.css">
<!-- share.js -->
<script src="dist/js/share.min.js"></script>
// 当你使用类名为 `social-share` 或者 `social-share` 时不需要手动初始化

3. 调用

把主题设置里的分享代码替换成下面的代码即可:

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

清理服务器缓存,刷新页面就可以得到和初梦博客分享的相同样式了!
用Share.js替换百度分享组件(图2)

4. 自定义配置

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

var $config = {    //...
   };

socialShare('.social-share', $config)

可用的配置有:

url: '', // 网址,默认使用 window.location.href
source: '', // 来源(QQ空间会用到), 默认读取head标签:
title: '', // 标题,默认读取
document.title 或者description: '', // 描述, 默认读取head标签:
image: '', // 图片, 默认取网页中第一个img标签
sites: ['qzone', 'qq', 'weibo','wechat', 'douban'], // 启用的站点
disabled: ['google', 'facebook', 'twitter'], // 禁用的站点
wechatQrcodeTitle: "微信扫一扫:分享", // 微信二维码提示文字
wechatQrcodeHelper: '微信里点“发现”,扫一下二维码便可将本文分享至朋友圈。',

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

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

禁用 google、设置分享的描述
<div class="social-share" data-disabled="google" 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个图标了。

赞(0) 打赏
未经允许不得转载:HTML/CSS » 用Share.js替换百度分享组件

评论 抢沙发

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏