项目中遇到的坑以及解决办法(导师辅助工作)
来源:互联网 发布:xvna网络社区 编辑:程序博客网 时间:2024/05/16 05:08
一、 项目介绍
这是一个学校项目,需要兼容到ie8,所以我们放弃了使用react等框架,使用了原始的jQuery(1.9.1),bootstrap3,
主要引用的解决兼容性插件有
1 .jquery.hashchange.min.js,主要解决问题是项目要求是单页面应用,需要改变hash值并监听hash的变化更新页面
2. jquery.placeholder.min.js、解决ie8不支持placeholder
3. json2.js、json_parse.js、解决ie8不支持JSON.parse 和 JSON.stringify
4 .storage.js 解决ie8不支持 localStorage
二、 replace正则使用
之前使用replace方法时都是替换固定的字符
如
var str = "my name is liulingli";var reStr = str.replace(/my/g,"his");console.log(reStr); // his name is liulingli
这次在项目中遇到一个需求,发送聊天信息时需要支持表情,本来一开始我是直接用contenteditable="true",直接添加图片标签,这样导致了一个问题,项目中可以导出聊天记录,这样导出的聊天记录就是一个图片标签,不便于理解,所以我必须得给表情图片对应文字,比如我发送笑脸表情,存储的是[笑脸],这样我在前端生成记录的时候就需要将[笑脸]替换成图片标签。我的实现方式如下,将表情图片与含义分别对应,这样我在保存和生成时可以互相替换
//表情图片对于含义var emojJsonTo = {};var emojJson = { "[微笑]" : '<img src="../images/emoj/e100.gif">', "[撇嘴]" : '<img src="../images/emoj/e101.gif">', "[色]" : '<img src="../images/emoj/e102.gif">', "[发呆]" : '<img src="../images/emoj/e103.gif">', "[得意]" : '<img src="../images/emoj/e104.gif">', "[流泪]" : '<img src="../images/emoj/e105.gif">', "[害羞]" : '<img src="../images/emoj/e106.gif">', "[闭嘴]" : '<img src="../images/emoj/e107.gif">', "[睡]" : '<img src="../images/emoj/e108.gif">', "[大哭]" : '<img src="../images/emoj/e109.gif">', "[尴尬]" : '<img src="../images/emoj/e110.gif">', "[发怒]" : '<img src="../images/emoj/e111.gif">', "[调皮]" : '<img src="../images/emoj/e112.gif">', "[龇牙]" : '<img src="../images/emoj/e113.gif">', "[惊讶]" : '<img src="../images/emoj/e114.gif">', "[难过]" : '<img src="../images/emoj/e115.gif">', "[酷]" : '<img src="../images/emoj/e116.gif">', "[冷汗]" : '<img src="../images/emoj/e117.gif">', "[抓狂]" : '<img src="../images/emoj/e118.gif">', "[吐]" : '<img src="../images/emoj/e119.gif">', "[偷笑]" : '<img src="../images/emoj/e120.gif">', "[可爱]" : '<img src="../images/emoj/e121.gif">', "[白眼]" : '<img src="../images/emoj/e122.gif">', "[傲慢]" : '<img src="../images/emoj/e123.gif">', "[饥饿]" : '<img src="../images/emoj/e124.gif">', "[困]" : '<img src="../images/emoj/e125.gif">', "[惊恐]" : '<img src="../images/emoj/e126.gif">', "[流汗]" : '<img src="../images/emoj/e127.gif">', "[憨笑]" : '<img src="../images/emoj/e128.gif">', "[大兵]" : '<img src="../images/emoj/e129.gif">', "[奋斗]" : '<img src="../images/emoj/e130.gif">', "[咒骂]" : '<img src="../images/emoj/e131.gif">', "[疑问]" : '<img src="../images/emoj/e132.gif">', "[嘘]" : '<img src="../images/emoj/e133.gif">', "[晕]" : '<img src="../images/emoj/e134.gif">', "[折磨]" : '<img src="../images/emoj/e135.gif">', "[衰]" : '<img src="../images/emoj/e136.gif">', "[骷髅]" : '<img src="../images/emoj/e137.gif">', "[敲打]" : '<img src="../images/emoj/e138.gif">', "[再见]" : '<img src="../images/emoj/e139.gif">', "[擦汗]" : '<img src="../images/emoj/e140.gif">', "[抠鼻]" : '<img src="../images/emoj/e141.gif">', "[鼓掌]" : '<img src="../images/emoj/e142.gif">', "[糗大了]" :'<img src="../images/emoj/e143.gif">', "[坏笑]" : '<img src="../images/emoj/e144.gif">', "[左哼哼]" :'<img src="../images/emoj/e145.gif">', "[右哼哼]" :'<img src="../images/emoj/e146.gif">', "[哈欠]" : '<img src="../images/emoj/e147.gif">', "[鄙视]" : '<img src="../images/emoj/e148.gif">', "[委屈]" : '<img src="../images/emoj/e149.gif">', "[快哭了]" :'<img src="../images/emoj/e150.gif">', "[阴险]" : '<img src="../images/emoj/e151.gif">', "[亲亲]" : '<img src="../images/emoj/e152.gif">', "[吓]" : '<img src="../images/emoj/e153.gif">', "[可怜]" : '<img src="../images/emoj/e154.gif">', "[菜刀]" : '<img src="../images/emoj/e155.gif">', "[西瓜]" : '<img src="../images/emoj/e156.gif">', "[啤酒]" : '<img src="../images/emoj/e157.gif">', "[篮球]" : '<img src="../images/emoj/e158.gif">', "[乒乓]" : '<img src="../images/emoj/e159.gif">', "[咖啡]" : '<img src="../images/emoj/e160.gif">', "[饭]" : '<img src="../images/emoj/e161.gif">', "[猪头]" : '<img src="../images/emoj/e162.gif">', "[玫瑰]" : '<img src="../images/emoj/e163.gif">', "[凋谢]" : '<img src="../images/emoj/e164.gif">', "[示爱]" : '<img src="../images/emoj/e165.gif">', "[爱心]" : '<img src="../images/emoj/e166.gif">', "[心碎]" : '<img src="../images/emoj/e167.gif">', "[蛋糕]" : '<img src="../images/emoj/e168.gif">', "[闪电]" : '<img src="../images/emoj/e169.gif">', "[炸弹]" : '<img src="../images/emoj/e170.gif">', "[刀]" : '<img src="../images/emoj/e171.gif">', "[足球]" : '<img src="../images/emoj/e172.gif">', "[瓢虫]" : '<img src="../images/emoj/e173.gif">', "[便便]" : '<img src="../images/emoj/e174.gif">', "[月亮]" : '<img src="../images/emoj/e175.gif">', "[太阳]" : '<img src="../images/emoj/e176.gif">', "[礼物]" : '<img src="../images/emoj/e177.gif">', "[拥抱]" : '<img src="../images/emoj/e178.gif">', "[强]" : '<img src="../images/emoj/e179.gif">', "[弱]" : '<img src="../images/emoj/e180.gif">', "[握手]" : '<img src="../images/emoj/e181.gif">', "[胜利]" : '<img src="../images/emoj/e182.gif">', "[抱拳]" : '<img src="../images/emoj/e183.gif">', "[勾引]" : '<img src="../images/emoj/e184.gif">', "[拳头]" : '<img src="../images/emoj/e185.gif">', "[差劲]" : '<img src="../images/emoj/e186.gif">', "[爱你]" : '<img src="../images/emoj/e187.gif">', "[NO]" : '<img src="../images/emoj/e188.gif">', "[OK]" : '<img src="../images/emoj/e189.gif">',};for(var i in emojJson){ emojJsonTo[emojJson[i]] = i;}
这里替换我用到了之前没有用到的replace的另一种替换方式
生成保存的时候
var content = '表情<img src="../images/emoj/e100.gif">'; var reContent = content.replace(/<img src="\.\.\/images\/emoj\/[a-zA-Z0-9]+.gif">/g,function(str){ return emojJsonTo[str]||str; });console.log(reContent); //表情[微笑]前端显示
var content = "表情[微笑]";var reContent = content.replace(/\[[\u4e00-\u9fa5a-zA-Z0-9]+\]/g,function(str){ return emojJson[str]||str; });console.log(reContent); //'微笑<img src="../images/emoj/100.gif">'
前面return 的时候用了||,是为了避免没有对应值时是undefined
阅读全文
0 0
- 项目中遇到的坑以及解决办法(导师辅助工作)
- 前段时间做项目中,遇到的问题以及解决办法的总结(一)
- 如何将一个项目转为library导入到另一个项目中以及遇到的坑和解决办法
- LoadRunner在性能测试工作中遇到的问题以及解决办法小结
- LoadRunner在性能测试工作中遇到的问题以及解决办法小结
- keras画图(可视化)中遇到的问题以及解决办法
- Openswan中遇到的问题以及解决办法
- 工作中经常遇到的坑以及解决的办法(一),欢迎光临!
- 工作中遇到的坑(C++)
- 关于今天做项目时遇到的问题 以及解决办法
- Maven构建部署项目遇到的各种问题以及解决办法
- 杂记,主要是工作中遇到的问题及解决办法
- 工作中遇到的问题和解决办法7
- 工作中遇到的问题和解决办法9
- 工作中遇到的问题和解决办法10
- 工作中遇到的问题及解决办法11
- 工作中遇到的问题及解决办法12
- 工作中遇到的问题和解决办法13
- 对一个数组名取地址&
- mysql中的case when的应用
- GDAL进行影像投影坐标、地理坐标、图上坐标的转换
- Imblearn package study
- 矩阵基本运算
- 项目中遇到的坑以及解决办法(导师辅助工作)
- /bin/sh: /tmp/IP172.sh: 权限不够
- 面向对象程序设计上机练习六(类和对象)
- Java虚拟机类加载机制
- 设计模式之禅6
- Android自定义控件之基本原理 转载自(总李写代码)
- 机器学习课后作业笔记(一)
- Redis 学习笔记(七)之 有序集合
- URL中“#” “?” &“”号的作用