学习emoji
学习emoji
如月王子 发表于2年前
学习emoji
  • 发表于 2年前
  • 阅读 288
  • 收藏 4
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

产品坑爹,什么都要。
找了很多产品,能做到的支持emoji的不多。微博直接屏蔽,QQ空间不支持。但微信支持了,我们就得做。
于是...

是什么


实际上是一些unicode


支持

(这块理解的比较少)目前emoji的支持在不断更新,各平台的支持情况也再随着版本的更新支持越多。
iOS android的支持就比较好。windows就别说了。

可以打开http://emojipedia.org/new-emoji/看下系统的支持。
支持emoji的就能显示图标,支持不了的就显示个框框

怎么支持

国内emoji的支持还不是很主流。可以暂且支持主流的emoji(例如微信里面的emoji)。

找到emoji,然后用图片替换。
采用的方案是https://github.com/coocy/emoji。
优点:

  • 普通屏和高清屏分别是两套图片尺寸。20x20,40x40。

  • 不采用css sprites。若采用,则图片太大。没有必要,很多都可能没有用到的。

  • 和文字大小保持一致,最大20px
    缺点:(经过使用,查看源码)

  • 其emoji替换成图片是用异步的,且会dom是全新的。这容易导致问题是之前dom绑定了些东西,会失效。

  • 没有提供字符串替换的借口。只能操作jquery dom。

于是我自己添加了同步和操作字符串的借口。以便操作渲染之前的模板。

微信上用到的emoji

\ud83d\ude04|\ud83d\ude37|\ud83d\ude02|\ud83d\ude1d|\ud83d\ude32|\ud83d\ude33|\ud83d\ude31|\ud83d\ude1e|\ud83d\ude09|\ud83d\ude0c|\ud83d\ude12|\ud83d\udc7f|\ud83d\udc7b|\ud83d\udc9d|\ud83d\ude4f|\ud83d\udcaa|\ud83d\udcb0|\ud83c\udf82|\ud83c\udf89|\ud83c\udf81

demo 和 ueditor结合

http://liyatang.github.io/demo/editor/

转成字符串

function toHex(str) {
     var res=[];
     for(var i=0;i < str.length;i++)               
          res[i]=("00"+str.charCodeAt(i).toString(16)).slice(-4);          
     return "\\u"+res.join("\\u");       }
标签: emoji
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 15
博文 177
码字总数 3194
×
如月王子
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: