- 
							
CKEditor/FCKEditor常见问题
普通类 - 
							
- 支持
 - 批判
 - 提问
 - 解释
 - 补充
 - 删除
 
 - 
							
- 
													前言:
 
CKEditor 是著名的 HTML 编辑器,IBM、Oracle、Adobe 等都在用。CKEditor 创建于 2003 年,其前身为 FCKEditor,在 2009 年的时候把“F”去掉了,更名为 CKEditor。其开源协议是基于 GPL, LGPL 和 MPL 的。官方网站:http://ckeditor.com/
一般来说,我们在编辑内容时,先是读入到 textarea,再将 textarea 的内容赋给编辑器。因为直接把内容作为字符串给编辑器的 Value 属性赋值使用的是 JavaScript 代码,要让 JS 代码不受内容中双引号、换行等的干扰,只有先读入到 textarea 最方便。
- 
													使用 CKeditor 3.0.1
 
<textareacols="90" rows="10" id="content" name="content">cftea</textarea> 
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript">
<!--
CKEDITOR.replace("content"); 
//-->
</script>可以看出,3.x 版本的使用非常方便,也不用担心会形成两个同名的 content。实际上 textarea 的 id 省略了也是可以的,因为 CKEditor 会先按 name 来查找,查找不到,再按 id 来查找。
并且编辑器会在 textarea 的位置替换原有的 textarea。
- 
													设置编辑器皮肤、宽高
 
<textareacols="90" rows="10" id="content" name="content">cftea</textarea> 
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript">
<!--
CKEDITOR.replace("content", 
{ 
skin: "kama", width:700, height:300 
}); 
//-->
</script>skin 值应该是 ckeditor/skins 文件夹下的某个文件夹名称,如果指向不存在的皮肤,则不会显示编辑器。
- 
													设置值、取值
 
设置值
CKEDITOR.instances.content.setData("输入文字"); // content 就是前面 CKEDITOR.replace 的第一个参数值
或
var editor = CKEDITOR.replace("content");
editor.setData("输入文字");取值
alert(CKEDITOR.instances.content.getData()); // content 就是前面 CKEDITOR.replace 的第一个参数值
或
var editor = CKEDITOR.replace("content");
alert(editor.getData());去除换行符
值得注意的是,当从后台传送字符串到CKEDITOR中的时候需要将\r\n去除,否则的话会出现unexpected token的错误,可能是CKEDITOR不认这个吧。Anyway, 添加上例子。
String selectContent = (String)request.getAttribute("selectContent");
selectContent = selectContent.replaceAll("\\\r", ""); //去除\r\n不然CKEDITOR无法加载
selectContent = selectContent.replaceAll("\\\n", "");
- 
													插入图片
 
若要演示此示例,最好是放在按钮的事件处理程序中,目的是有些延迟。
CKEDITOR.instances.content.insertHtml("<img src=...>");- 
													[CKEDITOR.editor] The instance " " already exists.
 
if (CKEDITOR.instances['editor']) {
//CKEDITOR.remove(CKEDITOR.instances['editor']); //Does the same as line below
delete CKEDITOR.instances[editor'];
}
CKEDITOR.replace('editor');//弹出蒙版,删掉此句 - 
													
 - 
							
- 标签:
 - selectcontent
 - 编辑器
 - CKEditor
 - textarea
 - 取值
 - ckeditor
 - content
 - javascript
 - FCKEditor
 - 赋值
 - ckeditor.replace
 - editor'
 - id
 - 内容
 
 - 
				
				
加入的知识群:
 
			
								
						
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~