EmojiSup小工具

想在自己的网站上放一条这样的表情反应条吗?


这个免费的反应组件一分钟就能装好。不用注册,不用开账号,我们这边也没有任何需要配置的东西。

安装

在网站的 HEAD 部分加入:

<script src="https://api.emojisup.org/widget.js?4"></script>

在 BODY 部分,希望反应条出现的位置加入:

<div data-emojisup></div>

安装到此结束。脚本加载后会接上自己的样式表,扫描页面上带 data-emojisup 属性的元素,并在每一个里面画出一条反应条。

组件标识

每个组件的标识由页面地址生成,所以一个页面上可以放好几个组件,每个页面也各自保留自己的计数。utm_source、fbclid 之类的推广参数会被忽略,从广告进来的访客看到的数字和其他人一样。

标识也可以自己指定:

<div data-emojisup id="my-article-42"></div>

标识一旦改变,组件就会从头开始,计数归零。

选项

每个选项都是同一个元素上的属性,都可以不写。

data-emojisup-set — 只显示你列出的反应,用逗号分隔:

<div data-emojisup data-emojisup-set="👍,❤️,🔥,🤣"></div>

data-emojisup-theme — 选择配色:默认 light,深色背景用 dark,跟随访客系统设置用 auto。

data-emojisup-size — 设定大小:s、默认的 m 或 l。

data-emojisup-align — 决定排列:left、center 或 right。不写这个属性时,反应会铺满整块宽度。

<div data-emojisup data-emojisup-theme="dark" data-emojisup-size="l" data-emojisup-align="center"></div>

下面是同一个组件,换成深色配色、只留四个反应并居中:

页面之后才载入的内容

如果组件位于稍后才到达的内容里,请在内容就位后调用:

<script>
    emojiSup.update();
</script>

它会重新扫描页面并启动新的组件。想让某个组件停止刷新计数,调用 emojiSup.destroy()。

组件保存了什么

组件只写入一个 cookie,名为 ev_user_id,有效期一年。里面是一个随机标识,别的什么都没有:有了它,组件才能记住这位访客选过哪个反应,刷新页面后选择依然保留。每次请求时,组件会发送反应条所在页面的地址,计数就是靠它按页面区分的。不发送姓名、邮箱,也不发送表单内容。

只有标签页打开并且在前台时,计数才会刷新。切到后台,组件就不再向服务器发问;若几分钟内没有点击,它会自己放慢频率。

常见问题

真的免费吗? 免费,而且不需要注册任何账号。

一个页面能放多少个? 需要多少放多少,给每一个单独的 id 就行。

访客可以改自己的反应吗? 可以。每位访客在每个组件上算一个反应:点另一个就把票移过去,再点同一个就收回。

网站改版后计数还在吗? 只要页面地址或你手动指定的 id 不变,计数就还在。

需要 jQuery 吗? 不需要。脚本没有任何依赖,大小约 45 KB。