在web页面显示emoji表情

本文首发在我的个人博客上:http://brownbear.top
项目地址是:https://github.com/sobrown

最近在做项目的时候,有这么一个需求。pc端评论页面的时候要能插入表情。并且还要能同步移动端的。心想这是什么鬼需求。起初想到采用百度的
富文本编辑器ueditor。但是他里面自带的表情无法同步的移动端。
那怎么让pc上的东西在移动端显示呢。没办法。客户就是上帝啊。客户提的所有需求都要满足。于是就在网上查找了有关资料。想到了采用
国际通用的emoji表情来作为web平台的输入。
这是我找的资料,讲的还算详细。但缺少具体实列。
参考资料

1.首先我们要把所有的emoji表情给显示出来,好让用户进行选择

这里是结构,样式的话我就不列举出来了。自行脑补吧

  <div class="text">
    <div id="content-icon" contenteditable="true" class="icon-area"></div>
      <button id="btn" class="btn btn-sm btn-default">:)</button>
      <div class="emoji-cont"></div>
  </div>

2.接下来就是行为层了

通过按钮触发emoji表情,并把表情内容加载到emoji-cont中。

    //生成emoji 并把emoji表情加载到emoji-cont中进行显示。
    $("#btn").click(function(){
        $(".emoji-cont").html("");
        $(".emoji-cont").stop().toggle();
        renderEmoji();
        $(".emoji-icon").each(function(k,v){
        $(v).click(function(){
                var code=$(this).attr("unicode16");
                console.log(parse(code));
                $("#content-icon").append(parse("&#"+parseInt(code,16)+";"));
            });
        });
    });

    function renderEmoji(){
        var emos = getEmojiList()[0];
        var html = '<ul class="clearfix">';
            for (var j= 0; j<emos.length; j++){
                var emo = emos[j];
                var data = 'data:image/png;base64,' + emo[2];
                if (j % 20 == 0) {
                    html += '<li class="">';
                } else {
                    html += '<li>';
                }
                html += '<img style="display: inline;vertical-align: middle;" src="' + data + '"  unicode16="' + emo[1] + '"  class="emoji-icon"  /></li>';
            }
        $(".emoji-cont").append(html);
    }

  //通过该方法。可以直接把表情在输入框中显示出来。  
  function parse(arg) {  
        if (typeof ioNull !='undefined') {  
            return  ioNull.emoji.parse(arg);      
        }  
        return '';  
    };  

以上这些都必须按依赖加载如下3个js文件

1.emoji-list-with-image.js 存储emoji编码和表情图片数据,格式如["e415","1f604","iVBORw0KGg..."]

2.punycode.js 编码解析库

3.emoji.js 解析emoji编码

js文件下载

如果觉得有帮助的话,麻烦右上角轻轻star下哦

有不足的地方,请各位大神指正!谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,663评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 不知道,有没有人和我一样健忘,记性不好,我总是碰到一种情况,就是朋友聊天的时候,朋友说你还记不记得我们第一次见面的...
    森海中的那颗豆阅读 186评论 0 0
  • 狂想症是一种甜得要命的绝症。 小道长一身仙气具象化之后就是脸上斗大的字——我不在乎。委实是无欲无求。 小妖孽偏不信...
    妖怪鉴定师阅读 228评论 0 0
  • 一、字符串简介 是一个结构体,结构体的性能更高; String 支持直接遍历; Swift 提供了 NSStrin...
    magic_pill阅读 355评论 0 0