FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合。“FCKeditor”名称中的“FCK” 是这个编辑器的作者的名字Frederico Caldeira Knabben的缩写。
FCKeditor 相容于绝大部分的网页浏览器,像是 : Internet Explorer 5.5+(Windows)、Mozilla Firefox 1.0+、Mozilla 1.3+ 和 Netscape
7+。在未来的版本也将会加入对 Opera的支持。
版本
目前FCKeditor已发展到3.0,并更名为CKEditor,最新版本是CKEditor 3.6。
CKEditor是FCKeditor的一个完全重写版本,加载更快更方便使用。
FCKeditor最后版本为2.6.6
fckeditor for java最新版本为2.4
一、FCKeditor的调用方式
解压FCKeditor_2.6.6将
1、通过javascript调用fckeditor
2、在jsp中通过自定义标签调用
1、通过javascript调用FCKediter
将fckditor文件放在WebRoot目录下
①引入js文件
<script type="text/javascript" src="/fckeditor/fckeditor.js"></script>
②通过javascript调用一共有三种方法,在这了主要介绍两种
method 1:创建并输出一个编辑器
<script type="text/javascript"> //实例化一个名称为FCKediter1的FCKediter编辑器 var oFCKeditor = new FCKeditor('FCKeditor1'); //指定FCKediter编辑器的基准路径 oFCKeditor.BasePath="/fckeditor/"; //调用create方法创建并输出编辑器 oFCKeditor.Create(); </script>
method 2:用编辑器替换一个textarea元素
<textarea rows="4" cols="60" name="MyTextarea" id="MyTextarea">在这里指定初始值</textarea> <script type="text/javascript"> window.onload = function(){ //实例化一个名称为FCKediter1的FCKediter编辑器,替换name或者id为MyTextarea的textarea元素 var oFCKeditor = new FCKeditor('MyTextarea'); //指定FCKediter编辑器的基准路径 oFCKeditor.BasePath="/fckeditor/"; //调用ReplaceTextarea()替换一个textarea元素 oFCKeditor.ReplaceTextarea(); } </script>
注意:
oFCKediter.BasePath="/fckediter/";
BasePath默认值为"/fckediter/",开头"/"代表的是站点的路径,这时指定的路径为:http://localhost:8080/fckediter,这样是不对的,因为我们发布以后站点名称还要加上工程名称,实际路径应为:http://localhost:8080/ObjectName/fckediter,所以 oFCKediter.BasePath="/ObjectName/fckediter/";当然我们还可以使用相对路径,只需去掉开头的"/",如:oFCKediter.BasePath="fckediter/";其中需要注意的是:①BasePath要正确的设置②BasePath一定要以"/"结尾,否则会报找不到页面错误。
2、在jsp中通过自定义标签调用
将FCKeditor for Java中所需的jar包拷贝到lib目录下面。下面是必需的jar包:
包名 | |
fckeditor-java-core-2.4.2.jar | 核心jar包 |
commons-fileupload-1.2.1.jar | 文件上传相关架包 |
commons-io-1.3.2.jar | 文件上传相关架包 |
slf4j-api-1.5.2.jar | 日志相关架包 |
slf4j-simple-1.5.2.jar |
①引入自定义标签
<%@ taglib uri="http://java.fckeditor.net" prefix="FCK"%>
②调用自定义标签
<!-- 注意在这里必须指定value的值,而且这个值不能是空字符串 (可以为空格)-->
<FCK:editor instanceName="myEditor" basePath="/fckeditor" value=" "></FCK:editor>
basePath的默认值为"/fckeditor",开头"/"表示当前工程的路径
以下是我的实例:
工程目录
fcktest.html源代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>fcktest.html</title> <script type="text/javascript" src="../common/script/fckeditor/fckeditor.js"></script> </head> <body> method 1:<br> <script type="text/javascript"> var oFCKeditor = new FCKeditor('FCKeditor1'); oFCKeditor.BasePath="/FCKeditorTest/common/script/fckeditor/"; oFCKeditor.Create(); </script> method 2:<br> <textarea rows="4" cols="60" id="MyTextarea" name="MyTextarea"> value </textarea> <script type="text/javascript"> window.onload = function() { var oFCKeditor = new FCKeditor('MyTextarea'); oFCKeditor.BasePath="../common/script/fckeditor/"; oFCKeditor.ReplaceTextarea(); } </script> </body> </html>
fcktest.jsp源代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'fcktest.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> This is my JSP page. <br> <FCK:editor instanceName="myEditor" basePath="/common/script/fckeditor" value=" "></FCK:editor> </body> </html>