- 浏览: 757088 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (396)
- JAVA (50)
- ORACLE (22)
- HIBERNATE (1)
- SPRING (26)
- STRUTS (4)
- OTHERS (0)
- MYSQL (11)
- Struts2 (16)
- JS (33)
- Tomcat (6)
- DWR (1)
- JQuery (26)
- JBoss (0)
- SQL SERVER (0)
- XML (10)
- 生活 (3)
- JSP (11)
- CSS (5)
- word (1)
- MyEclipse (7)
- JSTL (1)
- JEECMS (2)
- Freemarker (8)
- 页面特效 (1)
- EXT (2)
- Web前端 js库 (2)
- JSON http://www.json.org (3)
- 代码收集 (1)
- 电脑常识 (6)
- MD5加密 (0)
- Axis (0)
- Grails (1)
- 浏览器 (1)
- js调试工具 (1)
- WEB前端 (5)
- JDBC (2)
- PowerDesigner (1)
- OperaMasks (1)
- CMS (1)
- Java开源大全 (2)
- 分页 (28)
- Eclipse插件 (1)
- Proxool (1)
- Jad (1)
- Java反编译 (2)
- 报表 (6)
- JSON (14)
- FCKeditor (9)
- SVN (1)
- ACCESS (1)
- 正则表达式 (3)
- 数据库 (1)
- Flex (3)
- pinyin4j (2)
- IBATIS (3)
- probe (1)
- JSP & Servlet (1)
- 飞信 (0)
- AjaxSwing (0)
- AjaxSwing (0)
- Grid相关 (1)
- HTML (5)
- Guice (4)
- Warp framework (1)
- warp-persist (1)
- 服务器推送 (3)
- eclipse (1)
- JForum (5)
- 工具 (1)
- Python (1)
- Ruby (1)
- SVG (3)
- Joda-Time日期时间工具 (1)
- JDK (3)
- Pushlet (2)
- JSP & Servlet & FTP (1)
- FTP (6)
- 时间与效率 (4)
- 二维码 (1)
- 条码/二维码 (1)
最新评论
-
ctrlc:
你这是从web服务器上传到FTP服务器上的吧,能从用户电脑上上 ...
jsp 往 FTP 上传文件问题 -
annybz:
说的好抽象 为什么代码都有两遍。这个感觉没有第一篇 和第二篇 ...
Spring源代码解析(三):Spring JDBC -
annybz:
...
Spring源代码解析(一):IOC容器 -
jie_20:
你确定你有这样配置做过测试? 请不要转载一些自己没有测试的文档 ...
Spring2.0集成iReport报表技术概述 -
asd51731:
大哥,limit传-1时出错啊,怎么修改啊?
mysql limit 使用方法
FCKeditor简介及常用配置
======================================================================
FCKeditor是一套开源的在线WYSIWYG编辑器,它几乎囊括了现在网上所有的在线编辑器的功能,特别适合于在线编辑文章和新闻等。功能强大,配置简单,支持多国语言。版本包括javascript版,Java版和.Net版。其官方网站为:http://www.fckeditor.net/,基于GNU许可协议,目前最新版本为2.3。以下主要以javascript版为例简要说明配置和使用方法。假设我的上下文路径为/cms,下载FCKeditor_2.3,将其中的FCKeditor目录解压到/cms/js目录下。
FCKeditor包含2个主要文件:fckeditor.js和fckconfig.js,通过配置文件可以方便完成自定义的使用方案。主要配置文件为fckconfig.js,位于FCKeditor根目录下面,不过建议不要更改这个文件,最好建立自己的配置文件,这样可以及时的恢复到最初始的配置。在FCKeditor目录下的editor目录下建立一个myConfig.js文件,然后打开fckconfig.js文件修改
FCKConfig.CustomConfigurationsPath的值为myConfig.js,如下:
FCKConfig.CustomConfigurationsPath = ‘myConfig.js’ ;
这样就可以在myConfig.js文件中根据需要配置各种参数;如:
// 默认语言
FCKConfig.DefaultLanguage = ‘zh-cn’;
// 是否处理HTML实体,为true时会将双引号,单引号字符转换成相应的转义符,如:"e; '
FCKConfig.ProcessHTMLEntities = false ;
// 隐藏"插入图片"对话框中的"链接"
FCKConfig.ImageDlgHideLink = true ;
// 隐藏"插入图片"对话框中的"高级"
FCKConfig.ImageDlgHideAdvanced = true ;
// 隐藏"插入图片"对话框中的浏览服务器按钮
FCKConfig.ImageBrowser = false ;
下面说明几个常用的配置属性
FCKConfig.CustomConfigurationsPath
自定义配置文件的路径,根目录为FCKeditor\editor目录,也就是说自定义的配置文件只能放在FCKeditor\editor目录下,或者该目录下的某子目录,不能放在该目录以上的目录.
FCKConfig.EditorAreaCSS 编辑器界面的样式表文件
FCKConfig.BaseHref 编辑器中链接地址的默认值。
假如一个有效的图片文件的完整url为:http://223.254.101.1:8080/cms/uploads/img.jpg.
如果编辑器中需要用到相对于上下文的路径,则该参数值必须是“主机名+上下文名”,如:http://223.254.101.1:8080/cms/,这时相对路径uploads/img.jpg才是有效的;否则编辑器中的相对路径只是相对于主机名的地址,如uploads/img.gif是一个无效的相对地址
FCKConfig.FullPage 编辑器中的内容默认是否包含html页面的<html><head><body>等标签
FCKConfig.SkinPath 编辑器外观路径
FCKConfig.PluginsPath 编辑器插件路径
FCKConfig.AutoDetectLanguage 是否自动检测浏览器默认语言
FCKConfig.DefaultLanguage 默认编辑器语言
FCKConfig.StartupFocus 是否自动聚焦到编辑器内
FCKConfig.TabSpaces 是否支持Tab空格1支持0不支持
FCKConfig.ToolbarSets[key] 定义工具条
FCKConfig.ContextMenu 鼠标右健上下文菜单
FCKConfig.FontColors 编辑器工具条中文字颜色的列表项
FCKConfig.FontNames 编辑器工具条中字体的列表项
FCKConfig.FontSizes 编辑器工具条中字体大小的列表项,注意列表项目用;分隔,每个列表项/之前是字体大小值,后面是显示的名字
FCKConfig.MaxUndoLevels 可以撤销操作的步数
FCKConfig.LinkBrowser 是否允许使用"插入图片"对话框中的链接中的浏览服务器上的文件
FCKConfig.ImageBrowser 是否允许使用插入图片中浏览服务上的文件
FCKConfig.FlashBrowser 是否允许使用插入Flash中浏览服务上的文件
FCKConfig.LinkUpload 是否打开链接中的上传功能
FCKConfig.ImageUpload 是否打开插入图片中的上传功能
FCKConfig.FlashUpload 是否打开插入Flash中的上传功能
一个完整的自定义配置文件如下:
start——————————————————————
// FCKeditor自定义配置文件myConfig.js,位于FCKeditor\editor目录下
// 默认语言
FCKConfig.DefaultLanguage = ‘zh-cn’ ;
// 是否处理HTML实体,为true时会将双引号,单引号字符转换成相应的转义符,如:"e; '
FCKConfig.ProcessHTMLEntities = false ;
// 隐藏"插入图片"对话框中的"链接"
FCKConfig.ImageDlgHideLink = true ;
// 隐藏"插入图片"对话框中的"高级"
FCKConfig.ImageDlgHideAdvanced = true ;
// 隐藏"插入图片"对话框中的浏览服务器按钮
FCKConfig.ImageBrowser = false ;
// 自定义工具栏图标,可以根据需要隐藏一些不常用的功能. ‘-’表示分隔符,用[]括起来的是一条工具栏,’/'表示换行显示
FCKConfig.ToolbarSets["Default"] = [
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
//暂时隐藏表单工具条
//['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
’/',
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
//暂时隐藏"Flash"功能
//['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak','UniversalKey'],
['Image','Table','Rule','Smiley','SpecialChar','PageBreak','UniversalKey'],
’/',
['Style','FontFormat','FontName','FontSize'],
['TextColor','BGColor'],
['FitWindow','-','About']
] ;
end——————————————————————-
在网页中使用FCKeditor
=======================================================================
将FCKeditor目录解压到/cms/js目录,配置自定义配置文件后,接下来说明页面中的使用:
首先将fckeditor.js包含到网页中,如下:
<script type="text/javascript" src="js/FCKeditor/fckeditor.js"></script>
FCKeditor提供2中创建实例的方法:
方法一:在需要显示FCKeditor编辑器的地方插入以下js代码:
<script language="javascript">
// 创建相当于<textarea name="editor" style="width:100%;"></textarea>的对象
// 参数’editor’是产生的textarea的name值
var oFCKeditor = new FCKeditor(‘editor’) ;
oFCKeditor.BasePath = "$link.ContextPath/js/FCKeditor/" ; // 必须指定
oFCKeditor.Config["BaseHref"]="$link.ContextURL/"; // 保证相对路径相对于上下文
oFCKeditor.Config["DefaultLanguage"]="zh-cn"; // 默认语言
oFCKeditor.Width = "100%"; // 编辑器宽度
oFCKeditor.Height = "370"; // 编辑器高度
oFCKeditor.Create() ;
</script>
方法二:在页面的onload事件中,添加以下代码以替换一个已经存在的TEXTAREA标记
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var oFCKeditor = new FCKeditor(‘MyTextarea’) ;
oFCKeditor.ReplaceTextarea() ;
}
</script>
</head>
<body>
<textarea id="MyTextarea" name="MyTextarea">This is <b>the</b> initial value.</textarea>
</body>
</html>
方法二适合于需要给编辑器赋初始值的情况。
FCKeditor功能强大,但要真正符合我们的需求还需要做必要的修改,以下将对图片上传功能做相关的修改说明:
1.打开文件FCKeditor\editor\dialog\fck_image\fck_image.js,找到以下行:
window.parent.AddTab( ‘Info’, FCKLang.DlgImgInfoTab ) ;
FCKLang.DlgImgInfoTab表示插入图片对话框中的“图像”标签,将该行转移到第二个if语句后面,这样插入图片对话框打开时默认显示的标签将不是“图像”。根据需要此行也可以不改动。
2.打开文件FCKeditor\fckconfig.js,增加一个函数contextPath:
function contextPath(str){
var ctx = "";
var index = str.indexOf("/");
if(index == 0){
var index2 = str.substring(1).indexOf("/");
if(index2 == -1){
index2 = str.substring(1).length;
}
ctx = str.substring(1,index2 + 1);
} else {
ctx = str.substring(0,index);
}
return "/" + ctx;
}
修改FCKConfig.ImageUploadURL为:
FCKConfig.ImageUploadURL = contextPath(FCKConfig.BasePath) + "/fileList.do?type=uploadImg";
3.打开文件FCKeditor\editor\dialog\fck_image.html,找到id分别为divInfo和divUpload的div行互换,目的是配合上面的修改1,实现“上传”标签在“图像”标签之后。
4.增加一个文件imgUploadComplete.vm,用于在文件上传完毕后调用插入图片对话框中的函数,将上传的图片信息传递给插入图片对话框。文件源码如下:
<html>
<head><title></title>
<script language="javascript">
window.parent.OnUploadCompleted($!errorNumber, "$!imgSrc", "$!fileName", "$!data");
</script>
</head>
<body></body>
</html>
$!errorNumber等变量由后台程序赋值。
函数OnUploadCompleted位于FCKeditor\editor\dialog\fck_image\fck_image.js中,主要是对图片上传完之后的处理,如提示信息等,可以根据需要酌情修改。
图片上传原理
=======================================================================
在插入图片对话况中的上传页面中(即FCKeditor\editor\dialog\fck_image\fck_image.js),有一个不可见的name值为UploadWindow的iframe,上传图片时form的target就是指向此iframe,图片上传完后此iframe中的页面就跳转到页面imgUploadComplete.vm,此页面一加载就马上调用方法OnUploadCompleted将上传图片的信息返回给插入图片对话框,此信息中最主要的是图片上传后的相对于网站的相对地址。
FCKeditor字符转义的问题
=======================================================================
在没有对FCKeditor作任何配置时,FCKeditor会对以下字符作相应转义:
"转换为"e;
‘转换为'
<转换为<
>转换为>
&转换为&
?转换为
其中,通过配置FCKConfig.ProcessHTMLEntities为false可以阻止"和’的转义,而?的自动转义我个人认为是一个bug。
在FCKeditor\fckeditor.js文件中增加一个函数:
function restoreHtmlEntity(htmlText){
var text = htmlText;
text = text.replace(/</g,’<’);
text = text.replace(/>/g,’>’);
text = text.replace(/&/g,’&’);
return text;
}
功能是将字符串htmlText中的<,>h和&转义后的字符还原,这个函数在页面中提交数据到后台时会用到。具体用法如下:
var text = FCKeditorAPI.GetInstance(‘editor’).GetXHTML(true); // editor为编辑器的name值
document.myForm.Body.value = restoreHtmlEntity(text); // 调用函数restoreHtmlEntity还原转义字符
另外还要修改FCKeditor.prototype._HTMLEncode函数,将其中的正则表达式替换语句注释掉,目的是禁止对双引号、尖括号等字符转义。
对?的自动转义问题的解决方法:
1.找到文件FCKeditor\editor\js\fckeditorcode_ie.js,定位到第29行,找到方法名为FCKXHtmlEntities.Initialize的函数体,在函数的最后2行找到FCKXHtmlEntities.Entities={ ‘?’:'nbsp’ },将此语句改成FCKXHtmlEntities.Entities={}
2.找到文件FCKeditor\editor\js\fckeditorcode_gecko.js,定位到第28行,找到方法名为FCKXHtmlEntities.Initialize的函数体,在函数的最后2行找到FCKXHtmlEntities.Entities={ ‘?’:'nbsp’ },将此语句改成FCKXHtmlEntities.Entities={}
发表评论
-
fck 限制上传图片的宽度
2010-12-03 17:14 1688修改 fckeditor\editor\dialog\fck_ ... -
FCK添加自义功能、按钮
2010-10-29 17:02 1360需要修改的文件: fckconfig.js zh-cn.js ... -
FCkeditor添加新的选项卡到图片属性对话框
2010-07-28 10:41 15271.添加选项卡打开fckeditor/editor/dialo ... -
FCKEditor自动过滤的解决办法
2010-07-28 10:40 1185如果您需要编辑模板页,默认的FCK设置是会去掉标签,而且会给你 ... -
(转)FCKeditor2.6在线文本编辑器
2010-07-16 09:39 1329多文件上传: Struts2也可以很方便地实现多文件上传。 ... -
FCKeditor学习笔记
2010-07-16 09:30 2787一、自我认识: 1、类似world的编辑器 2、所见即所得 ... -
fckeditor-java-2.6中遇到的问题
2010-07-16 08:57 10701.gb2312编码工程中文乱码 解决方法: (1)重写j ... -
js中获取Fckeditor的值
2010-06-18 14:26 2103// 获取编辑器中HTML内容 function g ...
相关推荐
**JSP中使用FCKEditor** FCKEditor是一款在Web应用程序中广泛使用的开源富文本编辑器,它允许用户在浏览器端进行类似Word的文本编辑。在JSP(JavaServer Pages)环境中集成FCKEditor,可以极大地提升用户界面的交互...
- 在需要使用编辑器的页面引入FCKeditor的JavaScript文件,通常为`fckeditor.js`。 - 创建一个`<textarea>`标签,FCKeditor会替换该标签以显示编辑界面。 - 调用`FCKeditor.Create()`函数初始化编辑器。 2. **...
"Fckeditor在Java中的运用"主要涉及的是如何在Java Web开发环境中集成并使用FCKeditor,一个流行的开源在线富文本编辑器。FCKeditor允许用户在Web页面上进行类似Word的文本编辑,支持丰富的格式设置,图片上传等功能...
使用示例可能包括在网站后台管理系统中集成编辑器,以便用户能编辑文章内容,或者在表单中使用编辑器创建复杂格式的输入。 对于这两款编辑器的使用,你需要理解HTML、CSS和JavaScript的基础知识,因为这将是与编辑...
3. **实例化FCKeditor**:在JSP页面中,使用JavaScript代码实例化FCKeditor。这将创建一个编辑器实例,并指定其在页面上的ID以及与服务器交互的URL。 ```javascript var oFCKeditor = new FCKeditor('editor1') ; ...
FCKeditor是一款开源的富文本编辑器,它为Web应用程序提供了类似于桌面文本编辑器的功能,用户可以在浏览器中直接编辑、格式化文本,极大地提升了网页内容创建的效率和用户体验。这款编辑器支持多种语言,包括中文,...
随着技术的发展,FCKeditor已被CKEditor所取代,因此在新项目中,你可能需要考虑使用CKEditor,它具有更好的性能和更多的功能。 总结来说,ASP.NET与FCKeditor的结合使用,能为开发者提供一个强大且易用的文本编辑...
在ASP.NET中集成FCKEditor,可以极大地提升用户在网页上的编辑体验,使得内容创建和编辑变得更加便捷。 **一、FCKEditor简介** FCKeditor是由Fernando Montoya创建的JavaScript库,其名称源自"Freeware CKEditor...
本教程将深入介绍FCKeditor的安装、配置、使用及自定义方法,帮助开发者和网站管理员更好地利用这一工具。 一、FCKeditor简介 FCKeditor是一个基于JavaScript的富文本编辑器,支持多种浏览器,如Internet Explorer...
**在ASP中配置FCKeditor 2.6.4** 1. **下载与解压**:首先,你需要从官方网站或可靠的源获取FCKeditor 2.6.4的压缩包,并将其解压到服务器的合适目录下。文件列表中包含的“fckeditor”文件夹即是编辑器的核心组件...
在Java应用中使用FCKeditor,通常需要通过JavaScript与服务器端的Java代码进行交互,处理上传的文件和保存编辑的内容。 集成FCKeditor的步骤大致如下: 1. **下载与引入**:首先,你需要从FCKeditor的官方网站下载...
FCKeditor是一款经典的开源富文本编辑器,广泛应用于网页开发,允许用户在网页上进行类似Word的文本编辑操作。这款编辑器支持多种浏览器,并提供了丰富的API供开发者自定义功能。在给定的压缩包文件中,我们可以看到...
1. **安装与配置**:FCKeditor通常通过下载压缩包获取,解压后在网页中引入相应的JavaScript文件即可。配置文件`fckconfig.js`可以调整编辑器的设置,如禁用某些功能或更改默认配置。 2. **安全考虑**:由于...
FCKeditor是一款经典的开源富文本编辑器,广泛应用于网页开发中,允许用户在网页上创建、编辑和格式化文本内容,类似于Word的功能但嵌入在Web页面中。它支持多种浏览器,包括Internet Explorer、Firefox、Chrome和...
在本文中,我们将深入探讨FCKeditor的使用方法,包括安装、配置、基本使用以及一些高级特性。 1. **安装FCKeditor** - 下载:首先,你需要从FCKeditor官方网站或开源代码仓库获取最新版本的编辑器源码。 - 解压:...
3. **配置编辑器**:在项目中找到FCKeditor的配置文件(通常为fckconfig.js),根据需求调整编辑器的设置,例如默认字体、大小、工具栏布局等。 4. **测试运行**:在MyEclipse中运行项目,打开包含FCKeditor实例的...
2. **初始化编辑器**:在网页中使用FCKeditor,你需要通过JavaScript调用`FCKeditor.Create()`方法来初始化编辑器实例。你需要指定编辑器的ID以及其在页面上的占位符元素。 3. **配置选项**:FCKeditor支持多种配置...
4. **集成与使用**:在网站中集成FCKeditor,需要在HTML页面中引入FCKeditor的JavaScript文件,并设置编辑器的配置选项。开发者还可以根据需求定制编辑器的工具栏,或者通过插件系统扩展功能。 5. **安全性**:虽然...
FCKeditor是一款开源的富文本编辑器,它为用户提供了一个类似Microsoft Word的在线编辑体验,广泛应用于Web应用程序中,允许用户在网页上进行文字编辑、格式设置、图片上传等功能。在Java环境中,我们可以集成...
综上所述,JSP程序中使用FCKeditor编辑器涉及到前端JavaScript的使用、后端数据的处理、安全性的考量以及可能的自定义扩展。理解并掌握这些知识点,将有助于在实际开发中更好地利用FCKeditor提升用户体验。