为FCKeditor2.6添加行距功能(最新修改)

作者:懒羊 来源:懒羊的技术窝 时间:2008-08-18 21:09:00 

因些朋友发来邮件讲根据文章修改后无效,懒羊再次检查后发现在工具栏中并无添加,所以还得做一下下面步骤,再此给大家造成的不便还请多多谅解!

因FCKeditor已出现2.6.2版本,建议大家去下载,以下文章同样适用于此版本。在js文件夹中有fckeditorcode_gecko.js文件修改方式与ie这个文件相同,这个文件主要控制非IE的浏览器的使用。

FCKCONFIG.JS中104行FCKConfig.ToolbarSets中设定工具栏得加上LineHeight

一、首先为FCKeditor添加外部插件

在fckeditor\editor\plugins文件夹下建立新文件夹lineHeight,并在其中创建fckplugin.js文件,在其文件中办輸入代码:

FCKToolbarItems.RegisterItem( 'LineHeight'       , new FCKToolbarLineHeightCombo( null, FCK_TOOLBARITEM_ONLYTEXT ) ) ;

二、建立此下拉框相应事件
 
在文件fckeditor\editor\js\fckeditorcode_ie.js76行添加代码如下:

var FCKLineHeightCommand=function(){};FCKLineHeightCommand.prototype={Name:'LineHeight',Execute:FCKStyleCommand.prototype.Execute,GetState:FCKFormatBlockCommand.prototype.GetState};

98行添加代码:

case 'LineHeight':B=new FCKLineHeightCommand();break;

121行处:

var FCKToolbarLineHeightCombo=function(A,B){this.CommandName=&apos;LineHeight&apos;;this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultFontLabel||&apos;&apos;;};FCKToolbarLineHeightCombo.prototype=new FCKToolbarFontFormatCombo(false);FCKToolbarLineHeightCombo.prototype.GetLabel=function(){return FCKLang.LineHeight;};FCKToolbarLineHeightCombo.prototype.GetStyles=function(){var A=FCKStyles.GetStyle(&apos;_FCK_LineHeight&apos;);if (!A){alert("The FCKConfig.CoreStyles[&apos;Size&apos;] setting was not found. Please check the fckconfig.js file");return {};};var B={};var C=FCKConfig.LineHeights.split(&apos;;&apos;);for (var i=0;i<C.length;i++){var D=C[i].split(&apos;/&apos;);var E=D[0];var F=D[1]||E;var G=FCKTools.CloneObject(A);G.SetVariable(&apos;Font&apos;,E);G.Label=F;B[F]=G;};return B;};FCKToolbarLineHeightCombo.prototype.RefreshActiveItems=FCKToolbarStyleCombo.prototype.RefreshActiveItems;FCKToolbarLineHeightCombo.prototype.StyleCombo_OnBeforeClick=function(A){A.DeselectAll();var B=FCKSelection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);for (var i in A.Items){var D=A.Items[i];var E=D.Style;if (E.CheckActive(C)){A.SelectItem(D);return;}}}};

在文件fckeditor\editor\lang\zh-cn.js的117行添加代码如下:

LineHeight:"行距",
//此处主要是添加资源代码,这里只针对于中文,所以只修改了zh-cn.js文件

在fckconfig.js文件夹的98行添加:

FCKConfig.Plugins.Add( &apos;lineHeight&apos; ) ;

153行处:

FCKConfig.LineHeights = &apos;50%;100%;150%;200%&apos; ; //.net dll得相应变化 

A处
 
 
247行处:

&apos;LineHeight&apos; :
       {
              Element          : &apos;span&apos;,
              Styles             : { &apos;line-height&apos; : &apos;#("Font")&apos; },
              Overrides       : [ { Element : &apos;font&apos;, Attributes : { &apos;size&apos; : null } } ]
       },

由于我这里使用的是.NET,所以还必须修改.NET DLL项目,我这里用的是2.5版本。
修改DLL 项目中的FCKeditor.cs文件,在293行处添加

        [Category("Configurations")]
        public string LineHeights
        {
            set { this.Config["LineHeights"] = value; }
        }

这里的LineHeights与A处相呼应

重新编译项目,这样我们的fckeditor就可以使用行距。整个代码以及测试成功,我一直再用,只是没有时间看官方介绍,所以一直也未真正搞明白。

标签:FCKeditor,编辑器,功能
0
投稿

猜你喜欢

  • 详解四种Python中基本形态学滤波的实现

    2023-05-09 15:10:09
  • Python实现模拟时钟代码推荐

    2023-08-03 05:26:09
  • Pytorch 抽取vgg各层并进行定制化处理的方法

    2023-01-28 16:30:15
  • python获取图片颜色信息的方法

    2023-11-10 16:40:41
  • Python3.6笔记之将程序运行结果输出到文件的方法

    2023-08-02 08:27:44
  • gRPC超时拦截器实现示例

    2024-04-27 15:30:54
  • Python学习之文件的创建与写入详解

    2021-03-07 09:27:06
  • Python调用Tkinter示例浅析

    2022-04-30 02:53:32
  • python简单利用字典破解zip文件口令

    2023-06-27 05:36:31
  • Python 函数编编程的三大法宝map+filter+reduce分享

    2022-10-17 23:37:22
  • python内置模块OS 实现SHELL端文件处理器

    2023-11-24 16:41:14
  • python 爬虫出现403禁止访问错误详解

    2023-11-13 06:53:24
  • Python实现删除时保留特定文件夹和文件的示例

    2021-11-19 01:09:38
  • Web2.0视觉风格进化论 之二

    2007-11-03 20:10:00
  • MYSQL必知必会读书笔记第四章之检索数据

    2024-01-18 03:34:40
  • ORACLE 如何查询被锁定表及如何解锁释放session

    2023-07-02 11:59:39
  • 详解MySql的慢查询分析及开启慢查询日志

    2024-01-18 12:56:56
  • Python+unittest+requests 接口自动化测试框架搭建教程

    2023-03-27 00:52:07
  • python使用rstrip函数删除字符串末位字符

    2023-06-10 16:59:56
  • 多阶段构建优化Go 程序Docker镜像

    2024-02-20 13:57:40
  • asp之家 网络编程 m.aspxhome.com