`
pupi
  • 浏览: 438697 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

fckeditor的两个疑问:多配置和焦点管理

阅读更多
现在web页面上的html编辑器,选择用fckeditor的越来越多了。我自己也很喜欢用这款编辑器,可是用的过程中,有两个问题一直让我有点不爽:

1. fckeditor的配置主要是在一个fckconfig.js中完成的。假设一个应用中有多个地方用到了fckeditor,并且这些地方要求不同的配置。比如有的地方要求工具条默认直接显示,有的地方则要求工具条默认折叠起来。当然,有一种方案是在应用中按照不同的配置,预置好几套完整的编辑器。然后在应用的不同地方,通过引入不同的js文件,来达到这种效果。如下就分别引入了两个不同位置的fckeditor。
    <script type="text/javascript" src="<%=request.getContextPath()%>/FCKeditor_01/fckeditor.js"></script>

或者
    <script type="text/javascript" src="<%=request.getContextPath()%>/FCKeditor_02/fckeditor.js"></script>

但是这种方法的一大弱点就是会有很大的文件数量的冗余。

不知道有没有一种方法,可以轻松让fckeditor的实例可以有不同的配置信息呢?

2. fckeditor的编辑区域一般都是一个iframe,有时还是iframe中嵌iframe,那么控制focus就成了一个问题。比如要用tab键在页面中的textfield和fckeditor中切换,就很难做到。再比如想在页面加载的时候,让fckeditor自动获得焦点,也不是很容易的事情。(fckconfig.js中确实有个FCKConfig.StartupFocus的配置项可以控制获得焦点的,但是如上面第一个问题所述,很不灵活)
不知道有没有什么好办法?
分享到:
评论
5 楼 bigpanda 2007-02-16  
对fckeditor的研究还不够深入,提点想法。

这种JavaScript在线编辑器,都是调用Web Browser内置的编辑器,所以非得内嵌iframe,把这个iframe的document.desingmode换成on。

结果就是只能在Web Browser里面腾挪变换,局限性很大。都想给Browser写个plugin了。
4 楼 pupi 2007-02-16  
因为fckeditor替换了textarea之后,其实是用的一个iframe。而这个iframe的src是fckeditor.html,再加上目标textarea的id。
在fckeditor.html这个页面,先后导入了
fckeditorcode_ie.js
fckconfig.js
这两个javascript文件。
在第1个js文件中,定义了两个对象。其中第2个对象存放了配置信息。
var FCK = new Object();
var FCKConfig = FCK.Config = new Object();

3 楼 pupi 2007-02-16  
var FCKConfig = FCK.Config = new Object();

从这句看,FCKConfig其实并不是一个类,而只是一个变量。
2 楼 pupi 2007-02-16  
jianfeng008cn 写道
fckconfig是一个类,
fckeditor使用的是其一个实例,
你当然可以自己new 一个实例出来  ,
在默认实例的基础上 ,
覆盖你需要改动的属性 ,
配置文件 只是一个默认的配置


在代码中的每一个fckeditor都是一个类FCKeditor,我通常这么用,先new出一个FCKeditor的实例,传递需要替换的textarea的id;然后设置大小,用到的工具条;最后执行ReplaceTextarea方法进行替换。如下代码:
var oFCKeditor ; 
window.onload = function()
{
	var sBasePath = '<%=request.getContextPath()%>/FCKeditor/';
	oFCKeditor = new FCKeditor('txtArea01');
	oFCKeditor.BasePath	= sBasePath ;
	oFCKeditor.ToolbarSet='Default';
	oFCKeditor.Height = 300;
	oFCKeditor.Width = 800;
	oFCKeditor.ReplaceTextarea() ;
};


在FCKeditor这个类中,好像没有看到设置不同的config的函数呢,如下:
var FCKeditor = function( instanceName, width, height, toolbarSet, value )
{
	// Properties
	this.InstanceName	= instanceName ;
	this.Width			= width			|| '100%' ;
	this.Height			= height		|| '200' ;
	this.ToolbarSet		= toolbarSet	|| 'Default' ;
	this.Value			= value			|| '' ;
	this.BasePath		= '/fckeditor/' ;
	this.CheckBrowser	= true ;
	this.DisplayErrors	= true ;
	this.EnableSafari	= false ;		// This is a temporary property, while Safari support is under development.
	this.EnableOpera	= false ;		// This is a temporary property, while Opera support is under development.

	this.Config			= new Object() ;

	// Events
	this.OnError		= null ;	// function( source, errorNumber, errorDescription )
}


难道是Config这个属性 ?
可是我用oFCKeditor.Config.property01=value1,没有效果呢。
1 楼 jianfeng008cn 2007-02-16  
fckconfig是一个类,
fckeditor使用的是其一个实例,
你当然可以自己new 一个实例出来  ,
在默认实例的基础上 ,
覆盖你需要改动的属性 ,
配置文件 只是一个默认的配置

相关推荐

    HTML编辑器FCKeditor在J2EE项目的使用配置

    - 把`FCKeditor-2.3.jar`和`commons-fileupload.jar`这两个库文件从`FCKeditor/web/WEB-INF/lib`目录拷贝到你的项目`lib`目录。 4. **配置Web.xml**: 在`web.xml`中添加FCKeditor的Servlet配置,以处理文件上传...

    FCKeditor配置方法

    要安装和配置FCKeditor,首先你需要从其官方网站http://www.fckeditor.net/下载FCKeditor2.63.zip以及FCKeditor.NET2.63版本的两个ZIP包。这两个包分别包含了HTML文件、JavaScript文件、图片等资源文件和ASP.NET控件...

    在JSP环境中如何来配置和使用fckeditor

    3. 打开FCKeditor-2.3/web/WEB-INF/web.xml,找到其中的两个servlet和servlet-mapping定义。将这两个定义复制到你自己的项目web.xml文件中。你需要修改url-pattern,以确保它们指向正确的FCKeditor路径,例如: ```...

    FCKeditor入门教程之一:配置及简单运行篇

    **FCKeditor入门教程之一:配置及简单运行篇** FCKeditor是一款强大的开源富文本编辑器,...随着对FCKeditor的进一步学习,你可以掌握更多高级功能,如图片和文件管理、插件开发等,让富文本编辑功能更加丰富和强大。

    配置好的FCKeditor-2.3.rar

    这两个文件夹是FCKeditor默认的图片和Flash存储路径,编辑器会将用户上传的媒体文件保存在这里,以便于在编辑器中调用和展示。 "可以实现上传图片和flash"表明这个配置包含了图片和Flash媒体的上传功能。FCKeditor...

    FCKeditor ssh2项目 jar包配置页面文件

    集成FCKeditor到SSH2项目涉及多个环节,包括引入必要的Jar包、配置`web.xml`、设置属性文件、在JSP中使用编辑器,以及处理文件上传。理解这些步骤并正确配置,可以让你在SSH2项目中充分利用FCKeditor的强大功能,...

    FCKeditor配置for java

    FCKeditor支持多种皮肤和多语言,你可以根据需要在`editor/skins`和`editor/lang`目录下选择或自定义皮肤和语言包。 8. **扩展功能** FCKeditor还提供了丰富的插件系统,你可以安装额外的插件来增强其功能,比如...

    Fckeditor报 xml request error:404

    FCKeditor是一个流行的开源富文本编辑器,常用于网页内容的编辑和管理。它允许用户在网页上直接进行类似Word的文字编辑、格式化以及图片、链接等多媒体元素的插入。 FCKeditor for Java是FCKeditor的一个版本,专为...

    FCKeditor2.5配置教程

    - **XML配置**:除了`fckconfig.js`,FCKeditor还支持通过XML配置文件进行更详细的设置,如工具栏布局、插件管理等。 - **自定义插件**:如果你需要扩展FCKeditor的功能,可以编写自己的插件。FCKeditor的API允许...

    fckeditor php使用配置

    【标题】:“FCKeditor PHP使用配置” ...不过,FCKeditor已停止更新,当前推荐使用其后续项目CKEditor,它提供了更多功能和更好的兼容性。尽管如此,对于旧项目或简单需求,FCKeditor仍然是一个不错的选择。

    FckEditor中文配置手册详细说明

    FCKEditor 中文配置手册详细说明 FCKEditor 是一个功能强大且广泛使用的富文本编辑器,它提供了多种功能,如...FCKEditor 是一个功能强大且灵活的富文本编辑器,我们可以根据需要进行配置和修改,以满足我们的需求。

    asp.net FCKeditor 配置例子

    在这个配置例子中,我们将深入探讨如何在ASP.NET项目中集成和配置FCKeditor。 首先,我们看到有以下几个关键文件: 1. **Default.aspx**: 这是ASP.NET Web应用程序的主要页面,通常包含FCKeditor控件的HTML和ASP...

    ASP.NET下FCKeditor配置方法全解

    下载完成后,解压文件到本地,通常会得到一个包含多个文件夹和文件的结构,其中包括JavaScript文件、CSS样式表、图片资源以及示例文件。 第一步是将FCKeditor的文件夹复制到你的ASP.NET项目的适当位置,比如放在...

    FCKeditor在PHP环境中配置使用

    FCKeditor自带文件管理器,允许用户上传图片和其他文件。为了启用此功能,需要对配置文件进行修改: 1. **文件管理器配置文件**: - `FCKeditor/editor/filemanager/connectors/php/config.php` - `FCKeditor/...

    fckeditor编辑器的使用和配置

    2. **文件管理**:fckeditor内置了一个文件管理器,用户可以直接在编辑器内上传、删除、重命名文件和图片。 3. **自定义工具栏**:通过配置`fckconfig.js`,可以自定义编辑器的工具栏,添加或移除各种功能按钮。 4...

    fckeditor2.6 asp 版 配置好精简过

    在这个"**fckeditor2.6 asp 版 配置好精简过**"的压缩包中,我们聚焦的是FCKeditor的一个特定版本——2.6,针对ASP(Active Server Pages)平台进行了优化和配置。ASP是一种由微软开发的服务器端脚本环境,允许...

    FckEditor在SSH中的配置

    2. **上传文件管理**:你可以实现一个文件管理系统,让用户可以上传、预览和删除图片等文件,与FCKeditor集成。 3. **安全性增强**:使用HTMLPurifier或其他库清理用户提交的HTML,防止XSS攻击。 4. **国际化支持**...

    fckeditor的配置详解

    总结来说,fckeditor的配置是一个涉及多个方面的过程,涵盖了编辑器的基础设置、工具栏定制、语言选项、上传功能、以及个性化开发等多个环节。通过深入学习和实践,我们可以灵活地调整FCKeditor以适应各种应用场景。

    FCKeditor_2.6.3和FCK的配置文档

    **FCKeditor 2.6.3 和 FCK:一个强大的文本编辑...`fck配置.ppt`和`fck.jar`是两个关键资源,分别帮助用户理解和实现编辑器的个性化配置。通过学习和运用这些资源,你可以创建一个完全符合项目需求的自定义编辑器体验。

    基于jsp的FCKeditor终于配置好了

    例如,你可能有一个textarea元素想要替换为FCKeditor: ```html &lt;textarea name="content" id="myEditor"&gt;&lt;/textarea&gt; window.onload = function() { var oFCKeditor = new FCKeditor( 'myEditor' ) ; oFCKeditor...

Global site tag (gtag.js) - Google Analytics