Tre*_*rev 13 javascript google-chrome nicedit
我在我的网站上使用NicEdit WYSIWYG插件.
我注意到,当在Chrome中实例化NicEdit时,会生成以下Javascript错误:
Uncaught TypeError: Object has no method 'createRange'
Run Code Online (Sandbox Code Playgroud)
这并不能阻止插件工作,但我想尽可能防止这种情况发生.这是令人讨厌的方法:
getRng : function() {
var s = this.getSel();
if(!s) { return null; }
return (s.rangeCount > 0) ? s.getRangeAt(0) : s.createRange();
}
Run Code Online (Sandbox Code Playgroud)
作为一个项目,NicEdit似乎已经死了,这就是为什么我在这里问这个问题而不是在NicEdit论坛上.我希望有人知道这个问题的'quickfix'.在所有其他方面,NicEdit对我来说效果很好,所以我不愿意转换到另一个WYISWYG插件......
在此先感谢您的帮助.
小智 24
问题是Webkit的选择对象的实现没有定义createRange( )方法.该方法似乎特定于Internet Explorer.对于Webkit和Gecko DOM实现,该createRange( )方法是在document对象上定义的.有了这些知识,修复就getRng( )变成了:
getRng : function() {
var s = this.getSel();
var rng;
if(!s) { return null; }
if (s.rangeCount > 0) {
rng = s.getRangeAt(0);
} else if ( typeof s.createRange === 'undefined' ) {
rng = document.createRange();
} else {
rng = s.createRange();
}
return rng;
},
Run Code Online (Sandbox Code Playgroud)
我遇到了这个,因为我正在为即将开展的项目评估一些富文本编辑器,并且必须使用nicEdit创建一个示例页面.
| 归档时间: |
|
| 查看次数: |
6742 次 |
| 最近记录: |