前段时间做了个系统,其中公告管理部分,为了体现比较实用的效果,要用到在线编辑器。当初只是按猫画虎写了写,今天在网上找了找,找到了不少资料。资料太多,有时候未必是好事,尤其是在资料之间也不统一的时候。现在写写今天半天的收获,留着日后参考。
ckeditor配置实用
下载ckeditor的最新版本,ckeditor的官方网站是http://ckeditor.com。将其解压放在web项目的webRoot下,也可以放在网站的任何一个地方,默认为ckeditor。
使用方法
1、载入ckeditor
ckeditor是一个JavaScript应用程序,只需在网页中包含一个文件应用就可加载它。将上述下载的ckeditor粘贴在webRoot下,在页面<head>中引入ckeditor核心文件ckeditor.js
<head>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
</head>
用以上方式加载,ckeditor JavaScript API就准备就绪,可以使用了。
2、创建一个编辑器实例
实际上,ckeditor仍然是使用一个文本区域来传递它的数据到服务器上,在使用编辑器的地方出入HTML控件<textarea>
<textarea name="editor" cols="70" rows="10" class="ckeditor"></textarea>
3、将相应的控件替换成编辑器
<script type="text/javascript">ckeditor.replace('editor'); </script>
应用的完整例子:
<html>
<head>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
</head>
<body>
<form name="form1" method="post" action="MessageServlet?id=<%=id%>">
<tr>
<tr>
<td bgcolor="#FFFFFF"> <textarea name="editor" cols="70" rows="10" class="ckeditor"></textarea>
<script type="text/javascript">ckeditor.replace('editor'); </script>
</td>
</tr>
<tr>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置"></td>
</tr>
</td>
</tr>
</form>
</body>
</html>
ckeditor的配置:
网上有很多的资料介绍,ckeditor的配置都集中在ckeditor/config.js文件中。
精简ckeditor
在部署到web服务器上时,下列文件夹和文件都可以删除:
/_samples:示例文件夹;
/_source:未压缩源程序;
/lang文件夹下除zh-cn.js、en.js以外的文件(也可以根据需要保留其他语言文件);
根目录下的changes.html(更新列表),install.html(安装指向),license.html(使用许可);
/skins目录下不需要的皮肤,一般用V2(简单,朴素),如果只保留V2则必须在config.js中指定皮肤。
遇到的问题:
1.开始时,编辑器总是不显示。原因是ckeditor.js的引用路径有问题。
开始时,路径是<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>,将路径改为src="ckeditor/ckeditor.js"编辑器就可以显示了。
2.加载的默认皮肤是skin:'kama',其实就是涉及到ckeditor换肤的问题。
要切换CKEditor的皮肤的话打开ckeditor/ckeditor.js,找到 skin:'kama'
把kama修改为office2003或者v2就可以看到不同的皮肤效果了,更多的效果可具体查询。