为网站添加emoji表情的支持
- 项目框架
- React.js + webpack + ES6 + Jquery
- 需求描述
- 使用客户端的用户常常喜欢发emoji表情,而在浏览器打开网页版的时候,emoji表情不能正常显示。在chrome下,emoji表情显示的是黑白的线框表情。
- 因此需要通过前端来实现所有浏览器的emoji表情显示支持。
- github上关于emoji的开源方案的尝试
| twemoji |
Twitter的开源项目 http://twitter.github.io/twemoji ,是目前应用最广泛的,很多其它的开源方案都是基于它来实现的。 项目主页 https://twemoji.maxcdn.com/ 通过script标签加一个js文件就可以使用twemoji了。 twemoji.parse函数既可以处理文本(将文本中的emoji的code转变为相应的img标签), 也可以处理DOM(通过document.createDocumentFragment()将现有的DOM中的emoji code转变为img标签,再通过appenchild加载到页面上)。 问题:twemoji对DOM的操作不适合React框架,而且只能在window.onload之后执行; 服务器是在国外,表情的图片加载的比较慢,js有放到cdn上的版本就会好一些。 最后我选用了twemoji的处理文本的方案。之后会考虑将js做些修改,把js和表情图片放到网站服务器上提高请求速度。 附加一篇简易的使用教程 https://blog.farrant.me/adding-emoji-support-to-any-website/ |
| emojify |
MIT的开源项目 http://hassankhan.github.io/emojify.js/ 同样是js模块,但是表情包使用的是一整张大的sheet,而不是分别请求单个表情。一整张真的很大啊! 有多个不同版本表情包可以切换 具体使用我没有多做了解 |
| react-emoji |
https://github.com/banyan/react-emoji https://www.npmjs.com/package/react-emoji 用于React框架的npm moudle 有两个版本的表情包 我在尝试使用的时候发现了以下问题: 需要通过Class的mixins属性来使用这个模块,而在ES6的class写法中是不支持mixins,因此放弃了这个方案 |
| react-emojify |
https://github.com/pladaria/react-emojione https://www.npmjs.com/package/react-emojify MIT出品 这是一个支持React ES6的npm moudle 感觉这个还不错,以后可以更深入的了解和试用一下 |
| 更多类型的emoji开源项目 |
https://github.com/showcases/emoji 还有一个程序员哥哥自己把twemoji应用到react的方案 https://blog.datawallet.io/emojis-in-react-d733d3ae120b#.mxsnegimp react-easy-emoji https://github.com/appfigures/react-easy-emoji#readme 感觉也不错 |
为网站添加emoji表情的支持的更多相关文章
- 微信公众号自定义菜单中添加emoji表情
做微信公众号开发,可能会遇到如何加入emoji表情的问题.今天在“海南旅游小管家”公众号的菜单中加入了emoji表情,特此记录备忘. 1.登录微信公众号,在左侧找到[开发者工具]菜单,点击进入,找到[ ...
- 关于emoji表情,支持在app端发送web端显示,web端发送给app端显示,web与wap端互相显示。
要用到emoji.js和emoji.jquery.js两个插件配合实现三端互通. 1.app端发送的emoji表情----到服务器---服务器存储的是‘问号’,无法显示如图所示: 后台的同学也试验了网 ...
- Hexo中添加emoji表情
国庆的三天假前,都是玩CF和LOL的无限乱斗过来的,输了怨没随机到好的英雄,赢了就高高兴兴的
- MySQL中支持emoji表情的存储
由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...
- 数据库需要支持emoji表情
由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...
- Typecho博客支持emoji表情设置
介绍 大家在typecho博客写文章时,很多人都喜欢使用emoji表情(比如这些图标)但是typecho的数据库类型默认不支持emoji编码,因为Emoji是一种在Unicode位于u1F601-u1 ...
- 让mysql支持emoji表情
一.问题及原因 APP产品想对Emoji进行支持,但发现mysql数据库无法写入表情.原因是我们的mysql数据库默认用的是utf8编码,utf8编码存储时用的是三个字节,但Emoji表情是4个字节, ...
- 数据库支持emoji表情
从MySQL5.5.3开始,MySQL 支持一种utf8mb4的字符集,这个字符集能够支持4字节的UTF8编码的字符.utf8mb4字符集能够完美地兼容utf8字符串.在数据存储方面,当一个普通中文字 ...
- MySQL支持Emoji表情
让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节, ...
随机推荐
- hitTest,UIWindow sendEvent ,touchbegan, 响应链
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/using_responders_and_th ...
- MySQL master-slave主从复制环境搭建初试
环境为centos 7.2+mysql 5.7,网上教程很多,原理也不复杂(深知自己踩的坑还不够) 正常情况下,配置起来比较简单.另外,根据个人感受,MySQL的复制感觉要比SQL Server的复制 ...
- tomcat8做成windows服务
- python re模块与正则表达式
首先要先继承re模块: import re re.findall() 方法 # 返回值为列表 \w 表示一个字符,为数字,字母,下滑线之一, \W匹配任意非数字,字母,下划线 print(re.fin ...
- grabcut mask
#include "opencv2/opencv.hpp" using namespace cv; void main() { Mat src = imread("E:\ ...
- 动态加载、移除js、css
本文简单介绍动态加载.移除.替换js/css文件 .有时候我们在写前端的时候,会有出现需要动态加载一些东如css js 这样能减轻用户加载负担,从而提高响应效率.下面贴出代码.//JS写法 <s ...
- [Java核心技术]第四章-对象与类(4.1-4.6总结)
4.1面向对象程序设计概述 OOP(面向对象编程Object Oriented Programming) OOP中数据第一位,算法第二位. 类 封装:关键在于不能让其他方法直接访问类的实例域,程序仅通 ...
- [leetcode]7. Reverse Integer反转整数
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...
- Java日志框架-logback的介绍及配置使用方法(纯Java工程)(转)
说明:内容估计有些旧,2011年的,但是大体意思应该没多大变化,最新的配置可以参考官方文档. 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分 ...
- Object强转为实体类类型失败!!!!!!
这是从我CSDN博客直接拿来的图片废话不多说,直接上代码: