背景:在近期的项目中,有这样一个需求:用户的个人简介,前台无刷新编辑。那么这个问题是不难的,实现方式:
1.可编辑的div
2.ajax请求保存div中输入的内容
到这里我相信很多朋友都是一目了然,这并不是很难的啊,
但是问题来了,项目需求,用户在填写个人简介的时候,输入的换行也要相应的保存起来,于是宝宝查看了下可编辑的div输入换行之后是什么格式,
宝宝发现,当你按一次回车,输入内容之后,html会自动给你生成一个div,那么你按了回车之后输入的内容都会放到这块div中,这个时候宝宝是很开心的,
妈蛋啊,直接保存可编辑div的html到数据库,显示的时候不加任何处理,直接显示html,该有的换行都有,原来什么样子就是什么样子啊(这样保存html的方式还可以避免脚本注入的问题)。
那么到了这里,我觉得很多人都会认为,这个问题已经解决了,但是万万没想到,故事一波三折,个人简介允许1000字符,超过三行需要截取三行,然后用“...查看全部”代替,这个时候,项目组使用了一个吊死级别的插件,dotdotdot.js插件,这个插件差点要了宝宝半条名,(我要吐槽一下:真的是他妈的八字的插件啊),以往不专业的截取字符串,都会用subString等函数截取,但是事实上是不合理的,(窗口缩小等情况会出现问题),而这款插件(或