比较不错的修改FCKEditor的修改方法
近期,由于项目需求,我对FCKEditor进行了深入研究,并发现了一些bug以及缺少的功能。在此与大家分享我的一些发现与改进方法。
一、解决连续文本导致的滚动条问题
FCKEditor编辑器使用Iframe来呈现内容,然而其默认设置并不支持文本自动换行。当用户在编辑器中连续输入大量文字(如英文或数字)时,便会出现滚动条。为了解决这个问题,我们需要为其增加word-wrap样式并设置为break-word。我选择了最便捷的方式来修改,具体做法是在fckeditor.html文件中找到<iframe id="eEditorArea",然后给这个iframe增加一个onload事件,事件的内容是使编辑器body的wordWrap属性设置为'break-word'。这样,连续文本导致的滚动条问题便得以解决。
二、增加媒体播放按钮与Realplay按钮
为了让FCKEditor功能更加丰富,我们还需要增加媒体播放按钮和Realplay按钮。这项工作相对复杂,需要修改许多js文件以及相关的图片和样式文件。
我们需要准备两张图片,分别是用于媒体播放的fck_medialogo.gif和用于Realplay的fck_realplaylogo.gif。这两张图片可以随意调整大小,并设置为居中显示。然后,在FCKeditor\editor\css\images和FCKeditor\editor\skins\default\toolbar目录下分别放置对应的图片。
接下来,我们需要修改FCKeditor的CSS样式。在FCKeditor\editor\css\fck_internal.css文件中增加新的样式定义。为媒体播放按钮和Realplay按钮分别定义样式类FCK__Media和FCK__Realplay。这两个样式类包括边框、背景图片、背景位置、背景不重复等属性,并设置宽度和高度。
在FCKeditor中,我们深入了如何对js文件进行修改,特别是以realplay为例对FCKeditor\editor\js\fckeditorcode_ie_1.js进行修改。在原有的FCKDocumentProcessors.addItem(FCKFlashProcessor);之后,我们增加了针对Realplay的处理逻辑。
我们还定义了一个新的对象FCKMediaProcessor来处理嵌入的媒体文件,如'.avi'、'.mpg'和'.mpeg'等。处理方式与Realplay类似,也是通过创建一个假的图像元素来替代原始的媒体元素,并调整其尺寸。
接下来,我们对FCK.GetRealElement方法进行了优化,以便更好地处理编辑器中的width和height的调整。这个方法能够根据元素的属性获取真实的元素,并对元素的尺寸进行调整。
我们还在FCKeditor中增加了对Media和Realplay的支持。在FCKCommands.GetCommand方法中,我们增加了对Media和Realplay的命令支持,分别创建了两个对话框命令FCKDialogCommand。在FCKToolbarItems.GetItem方法中,我们也增加了对应的媒体和Realplay工具栏按钮。在FCKContextMenu中,我们增加了对应的菜单组,以便在右键菜单中显示媒体和Realplay的属性。
为了完整地支持媒体和Realplay的功能,还需要增加'dialog/fck_Media.html'和'dialog/fck_Realplay.html'两个页面。这两个页面将用于显示媒体和Realplay的对话框,以便用户能够方便地管理和调整媒体和Realplay的属性和设置。具体的页面内容和逻辑可以根据实际需求进行设计和开发。详细的源码可以参考提供的源码下载链接。
一、前言
在数字内容的编辑过程中,我们常常需要借助富文本编辑器来实现更丰富的文本编辑功能。其中,FCKEditor作为一款流行的富文本编辑器,受到了广大开发者的喜爱。本文将围绕FCKEditor的某些功能进行介绍和改编。
二、源码与调整
关于fckconfig.js文件的调整,这个配置文件主要是对FCKEditor的一些基本设置。由于其内容较为简单,建议直接查看源代码以深入了解。
接下来,我们看到lang目录中对常量的定义。这部分内容相对直观,通过搜索相关关键词,很容易找到相应的定义。
然后,我们讨论如何添加删除按钮列,类似Sina Blog中的编辑控件。这一功能的实现需要涉及到UI设计和交互逻辑,具体实现方式会根据开发平台和框架的不同而有所差异。
紧接着,是关于上传路径的修改。默认上传路径是根目录/UserFiles,但我们可以多种方式进行修改。源码中提供了一个保护字符串UserFilesPath的获取方法,该方法依次从Application、Session、Web.config文件以及URL请求参数中获取上传路径。如果所有这些方式都获取不到有效的路径,那么就使用默认值。这样设计的目的是为了保证程序的灵活性和可扩展性。
三、自定义与扩展
除了在源码中进行调整外,我们还可以在任何加载FCKEditor前的位置(如Global或程序中任意位置)设置Application["FCKeditor:UserFilesPath"]、Session、Webconfig或请求参数等,以实现个性化的配置。这种方式使得我们可以根据实际需求对FCKEditor进行定制。
四、结语与资源分享
至此,我们初步了FCKEditor的功能调整方法。FCKEditor还有更多高级功能和优化等待我们去发掘。附JS版FCKEditor下载及所有版本列表,以供大家参考和学习。还有更多的自定义和扩展方式等待我们去和实践。让我们期待更多的创新和改进!记得关注我们的后续文章,我们将继续分享更多关于FCKEditor的使用心得和技巧。
五、技术实现细节(续)
长沙网站设计
- 比较不错的修改FCKEditor的修改方法
- javascript中setAttribute()函数使用方法及兼容性
- sql查看所有表大小的方法
- 张杰在百万小学堂的表现如何 教学特色有哪些亮
- BootStrap的JS插件之轮播效果案例详解
- Javascript中call和apply函数的比较和使用实例
- Visual Studio调试技巧汇总
- jQuery操作属性和样式详解
- 程序员那么可爱西瓜影院
- php实现快速对二维数组某一列进行组装的方法小
- Laravel 实现数据软删除功能
- GBK字符编码(字符集)缺陷导致web安全漏洞
- php实现将HTML页面转换成word并且保存的方法
- CI框架源码阅读,系统常量文件constants.php的配置
- 关于Function中的bind()示例详解
- PHP实现即时输出、实时输出内容方法