富文本兼容性问题归纳(ubuntu)

周五在ubuntu上测了一下重构后的富文本,发现依然存在一个bug: 开启了中文输入法的话, 输入框就监听不到按钮事件了。

这个问题在webqq的聊天框一直存在着,也有很多用户投诉,具体表现为: 切换到中文输入法(ibus or other),输入一段内容后,第一次按下回车键可以发送消息, 之后的回车键都变成输入框的换行了。

花了一个中午排查了下,总算找到原因了:

在ubuntu上面,切换到中文输入法的时候,只有第一次按下的keydown/keyup事件会被抛出,之后都keydown和keyup事件都会被输入法接收且不会冒泡,因此输入框没办法对按钮作出响应。这个行为跟用......

富文本兼容性问题归纳(win)

上周抽空把去年写的富文本重写了一下,封装成基本UI组件,就可以在聊天框之外的地方复用了。个人觉得富文本是个兼容问题最多的模块之一,尤其是文档也没几个,把mozilla的api文档和IE的dom api关于selection和range的看了一个遍,一个个试,总算找到勉强能用的方法。

其实之前的富文本代码太乱,而且还有不少bug,只是产品经理不给时间改,O__O"…

这个富文本没有用iframe来做输入框,原因有二:

iframe是所有dom节点中消耗性能最大的,开多几个ie6/7就会卡到不行了;

因为webqq是多窗口聊天的,当光标点击到输入框时,ifram......

Tags

css3   魅力CSS   nodejs   loading   CSS   疯狂的菊花   html5   animation   compiler   编译脚本   png   WordPress   智能   旅行   优化   模板   历史记录   跨域   manifest   frame   canvas   动画   js   离线应用   codelet   transform   抽取   java   兼容问题   发布脚本   富文本   那一年在他乡   htaccess   iframe   帧动画   加载速度   intelligent   跨浏览器   DNS解析   插件   checkbox   单边   step-start   vary   复选框   自动更新   转换   文本溢出   盒子阴影   menu   blob   西安   滑动背景   box-shadow   内存占用   键盘事件   python   auto   text overflow   background   所见所得   android   rotate   字节数   合并   文本框   slide   字符串连接符   协议   伪类   兄弟选择符   网格   节点位置比较   空白   斜线拼接   自定义命令   溢出   clock   素描   无法更新   分隔符   字符编码   body   下载文件   精灵图   step   nodej   ubuntu   apache   css3选择器   创建文件   多级菜单   编辑状态   ajax   阴影   垂直   chrome   管道   时钟   firefox   背景   文件上传   createobjecturl   游记   下载   放射渐变   版本号   宽高   照片   localStorage   渐变背景   图片   图片拼接   属性值检测   自动生成   计算   返回键   oauth   合图   reset   调用   cavnas   漏洞   按钮   margin   线性渐变   xsrf   被黑   tab   checked   修复   border   消失   step-end   sprite   common-upload   菜单   兄弟选择器   字符串   svn   九寨沟   缩进   css遮罩   svg   添加系统服务   gzip   插入代码   动态   加速   模拟