CKEditor 的一些兼容性问题笔记

首先这个CKEditor以前是叫做FCKEditor的。
最近在给YT弄新的在线编辑器,现在的TinyMCE似乎表现不怎么好,然后发现CKEditor的界面很好很强大,本地化工作也比TinyMCE好,于是就选用CKEditor了。

getSelection().getNative() 方法在IE中表现不正常,无法获得选定的内容

在Firefox、Opera、MX3.x版本中调用这个方法都能很正常地得到编辑器中当前选定的内容,但是在IE中得到的却是一个对象。可以按下面方法处理

if (CKEDITOR.env.ie) {
sel = this.pe.getSelection().getNative().createRange().text;
}
else {
sel = this.pe.getSelection().getNative();
}

参考MSDN:http://msdn.microsoft.com/en-us/library/ms535869%28VS.85%29.aspx
所以说这个微软真是讨人厌,什么东西都非要搞自己的一套标准出来,仗着自己的垄断地位挖社会主义墙角,真该批斗的说。

IE中CKEditor失去焦点后,getSelection()会返回空值

在调用 getSelection() 方法之前先调用CKEDITOR.editor的focus()方法就好了。


于是最后弄一个令人囧的IE给出的的错误描述,微软的错误描述向来令人摸不着头脑。看这些东西的都是开发人员,多多少少懂点英语,与其给出这样诡异的错误描述,还不如直接抛出英文呢。比如我碰到的这个错误其实就是Unhanded exception的意思。

最后再吐槽,微软的翻译人员不知道是不是开发人员,说不定是把需要翻译的文本直接丢给翻译公司进行翻译。于是对开发工作完全不懂的翻译人员就按照字面意思翻译,嗯嗯,翻译结果在字面意思上果然也非常准确。
如果是开发人员根据环境来翻译的话,应该就翻译成:代码抛出一个异常,且该异常未被处理

本文发表于 技术向,并添加了 , , , , 标记。保存永久链接到书签。

发表评论

邮箱地址不会被公开。