菜鸡一只,刚开始写博客文笔不好,有问题欢迎相互讨论。闲话不多说。

用到了三个插件

Emoji Picker

第一步

这个emoji表情包插件是我找到比较好 的一个,input框中是不能放入图片的,效果的原理是div设置contenteditable=“true”即可编辑,input和div相互赋值,当获取input或textarea时 获取的事字符串和纯文本图形。

项目中遇到的问题:因为这个插件是点笑脸弹出一个表情框但是项目中只有一个按钮 要实现标题与内容。

解决的办法:通过判断哪个框fous 显示出相应的笑脸按钮。

第二步

发送数据给后端两种方法

1.转为Unicode编码

2.转为shortname  :smile: 这样的格式  转换插件 https://github.com/hikitty2/emojione  这是一个转换编码和表情的库,安装只需要两条cdn就可以  只不过表情不是emoji (通过这个插件把纯文本图形转成了shortname )

第三步

由于我用耳的angular框架 使用了angular-emoji-filter https://github.com/globaldev/angular-emoji-filter

项目中遇到的问题:这个angular插件是是通过雪碧图来定位图片然而 每个图标只有21px 非常小 所幸该插件自带了一套每个图标的图片并且支持自己调px 但是需要用到gruntfile

修改gruntfile

提一个坑,在安装grunt 的一个插件 Grunt Montage时npm就下不来了 不知道是什么原因可能和node npm的版本有关  最后用了cnpm 淘宝的镜像 下来了。

第二个坑 运行grunt css的定位和js成功生成 但是整个表情包的雪碧图没生成= =   使用了雪碧图合成把angular-emoji-filter中自带的图片全部拖入生成雪碧图每个图标是32 但是有两张老鼠图片是38px建议删除不然定位会出问题     http://alloyteam.github.io/gopng/

不用angular过滤器的 jq也有一个过滤unicode编码的插件 自带图片 可以直接百度

到此问题基本解决,大家又好的方法欢迎留言

项目中使用emoji表情包与表情的解析过程详情的更多相关文章

  1. ssm项目中遇到微信用户名称带有表情,插入失败问题

    ssm项目中遇到微信用户名称带有表情,插入失败问题 问题 Mysql的utf8编码最多3个字节,而Emoji表情或者某些特殊字符是4个字节. 因此会导致带有表情的昵称插入数据库时出错. 解决方法 一. ...

  2. 关于如何正确地在android项目中添加第三方jar包

    在android项目中添加第三方jar包虽然不是一个很复杂的问题,但是确实给很多开发者带来了不小的困扰.我自己就曾经碰到过calss not found exception.error inflati ...

  3. Android Studio 在项目中引用第三方jar包

    在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets { main { ...

  4. Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  5. idea在maven中引入了jar包依赖,但是编译过程中报出XXX程序包不存在,已解决

    idea在maven中引入了jar包依赖,但是编译过程中报出XXX程序包不存在 1. 报错具体情况 2. Project Structure中的Libraries没有任何红色波浪线 3. 发现自己要引 ...

  6. VS项目中使用Nuget还原包后编译生产还一直报错?

    Nuget官网下载Nuget项目包的命令地址:https://www.nuget.org/packages 今天就遇到一个比较奇葩的问题,折腾了很久终于搞定了: 问题是这样的:我的解决方案原本是好好的 ...

  7. 在maven项目中解决第三方jar包依赖的问题

    在maven项目中,对于那些在maven仓库中不存在的第三方jar,依赖解决通常有如下解决方法: 方法1:直接将jar包拷贝到项目指定目录下,然后在pom文件中指定依赖类型为system,如: < ...

  8. java将类和函数封装成jar,然后在别的项目中使用这个jar包

    本来想用idea安装的,不过用maven生成后发现jar有20,30M肯定不对,后来还是用eclipse生成了,方便很多 环境: eclipse luna,jdk1.8_112 1.生成jar包,首先 ...

  9. web项目中遇到的Maven包依赖冲突问题解决

      在搭建web项目时,出现一个比较诡异的问题,任何JSP页面突然都不能够正常地显示,系统爆出HTTP:500(服务器内部错误)的页面   HTTP Status 500 - java.lang.No ...

随机推荐

  1. 2017qq红包雨最强攻略,

    这个只支持苹果手机,而且要有苹果电脑,只有苹果手机是不行的. QQ红包规则:只要你到达指定的位置,就可以领取附近的红包,一般也就几毛,还有几分的,当然也不排除有更高的,只不过我是没遇到... 那么既然 ...

  2. 小学生之Hibernate插入数据修改数据使用数据库默认值的实现

    最近在写一个案例,定时任务对数据库进行更新操作,废话不多说,上代码: @Component("taskJob") public class TaskJob extends Hibe ...

  3. web开发的性能准则(减少页面加载时间方面)

    准则(概述) 减少 HTTP 请求 使用CDN加速 避免空的src或href属性值 增加过期头 启GZIP压缩 把css文件放到头部 把javascript放到尾部 避免使用css表达式 删除不使用的 ...

  4. Win下 MySQL数据库安装与配置详解

    第一步 从官网下载安装包 (本次只写安装版的32位的mysql) 1. https://www.mysql.com/downloads/ 下载的官网地址 一直滑到最下面 然后点第一个 然后选第一个 这 ...

  5. display的none与block(判断登录界面的账号密码是否为空)

    判断登录界面的账号密码是否为空的时候又不想用alert显示就需要用display来隐藏alert啦(在设置时切忌要将隐藏的内容写在账号和密码的div中,否则会根据屏幕的分辨率不同而有所变化,这是本人教 ...

  6. 理解Node.js(译文)

    前言 总括 :这篇文章十分生动形象的的介绍了Node,满足了读者想去了解Node的需求.作者是Node的第一批贡献者之一,德国前端大神.译者觉得作者的比喻很适合初学者理解Node,特此翻译. 译者 : ...

  7. Struts2的概述和入门

    忽如一夜春风来,千树万树梨花开 上节我们说到,JAVAEE的三层架构,即web层,service层,dao层.hibernate是应用在dao层的.而我们现在所学的Struts2是应用在web层.St ...

  8. runloop和runtime

    runloop Runloop是事件接收和分发机制的一个实现. 一个程序从main函数开始,函数执行完毕之后就会退出,iOS程序也是一样的,但是我们从没看到过iOS程序打开之后直接闪退,肯定是有一些东 ...

  9. 匹配PC和移动端

    方法1: var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; ret ...

  10. phpcms基础知识和配置

    一.设置界面 1.站点设置:相当于服务器上的站点 (1)站点修改:“关键词”和“描述”的修改,便于网络优化和搜索引擎对本网站的搜索. (2)模板的修改,可以自己加模板,引用自己模板 2.基本设置:所有 ...