fckeditor 插件开发参考文档

 更新时间:2009年06月19日 18:19:12   作者:  
个人觉得这文章很适合初开发FCK插件的朋友~,对于插件的开发的实例可以看我们上一篇发表的文字。

一:插件的目录结构
插件目录的名称必须和插件的名称一样,而且目录里面必须包含一个fckplugin.js文件。可选包含一个lang目录用来实现界面的国际化。每一个文件定义一种语言,文件名不包含.js,用FCKConfig.Plugins.Add()注册。如果实现的插件命令没有界面,也可以不需要支持任何语言。
比如:findreplace插件的目录结构如下:
/editor/plugins/findreplace/fckplugin.js
/editor/plugins/findreplace/lang/en.js
/editor/plugins/findreplace/lang/zh.js
在fckplugin.js文件中定义你的插件,同时也应该注册改命令,以及创建一个工具栏按钮。
注册代码说明: 

复制代码 代码如下:

//注册命令,RegisterCommand(命令名,命令)
FCKCommands.RegisterCommand(
'My_Find',
new FCKDialogCommand(
FCKLang['DlgMyFindTitle'],
FCKLang['DlgMyFindTitle'],
FCKConfig.PluginsPath + 'findreplace/find.html', 340, 170));

FCKCommands.RegisterCommand('My_Replace',
new FCKDialogCommand(
FCKLang['DlgMyReplaceTitle'],
FCKLang['DlgMyReplaceTitle'],
FCKConfig.PluginsPath + 'findreplace/replace.html', 340, 200)) ;

//创建工具栏按钮,现创建,再注册。
var oFindItem = new FCKToolbarButton('My_Find', FCKLang['DlgMyFindTitle']);
oFindItem.IconPath = FCKConfig.PluginsPath + 'findreplace/find.gif' ;
FCKToolbarItems.RegisterItem( 'My_Find', oFindItem ) ;

var oreplaceItem = new FCKToolbarButton( 'My_Replace', FCKLang['DlgMyReplaceTitle']);
oreplaceItem.IconPath = FCKConfig.PluginsPath + 'findreplace/replace.gif';
FCKToolbarItems.RegisterItem('My_Replace', oreplaceItem);

二:安装插件:
安装前把解压的包拷贝到editor/plugins目录下,然后按下列步骤进行:
1、先确定按钮在工具栏的位置
最好在定制的配置文件中,新写一个工具栏来包含新的插件。

定制配置文件:
复制代码 代码如下:

FCKConfig.ToolbarSets['PluginTest'] = [
['Source'],
['Placeholder'],
['My_Find', 'My_Replace'],
['Table','-',
'TableInsertRow', 'TableDeleteRows',
'TableInsertColumn', 'TableDeleteColumns',
'TableInsertCell', 'TableDeleteCells',
'TableMergeCells', 'TableSplitCell'
],
['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
] ;

2:添加插件同样,可以直接在定制文件中添加插件。可以直接把插件放置到默认目录下,或者在FCKConfig.Plugins.Add方法里面的第三个参数指定插件所在的位置。
//代码分析:
引用内容
复制代码 代码如下:

FCKConfig.Plugins.Add( pluginName, availableLanguages, pathToPlugin )

pluginName: 插件名称或者插件目录名称.
availableLanguages: 逗号分割的可用语言列表.
pathToPlugin: 绝对路径,指插件的所占目录,包括插件本身一层目录

在默认位置添加插件
引用内容
复制代码 代码如下:

FCKConfig.Plugins.Add( 'findreplace', 'en,it' ) ;

在其他位置添加插件,在add方法传递插件的绝对路径。
引用内容
复制代码 代码如下:

FCKConfig.PluginsPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + '_samples/_plugins/' ;
var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;
FCKConfig.Plugins.Add( 'placeholder', 'en,it', sOtherPluginPath ) ;
FCKConfig.Plugins.Add( 'tablecommands', null, sOtherPluginPath ) ;


https://www.jb51.net/article/18660.htm

相关文章

  • FCKeditor 和 SyntaxHighlighter 代码高亮插件的整合

    FCKeditor 和 SyntaxHighlighter 代码高亮插件的整合

    FCKeditor 和 SyntaxHighlighter 代码高亮插件的整合方法,里面有下载,可以根据需要结合自己的fckeditor版本。
    2010-04-04
  • 彻底解决ewebeditor网站后台不能上传图片的方法

    彻底解决ewebeditor网站后台不能上传图片的方法

    随着windows操作系统和IE浏览器版本的不断推出,很多客户都渐渐放弃了IE6,IE7,使用上了IE8浏览器,但是突然发现自己网站后台里面的eWebEditor文本编辑器的插入图片等等按钮失效了,鼠标点击后什么反应都没有,IE浏览器左下角显示一个黄色的感叹号提示错误,就以为是网站空间、服务器中毒了呢,一时间纷纷都来找我们询问
    2012-03-03
  • FCKeditor 图片上传进度条不动的解决方法

    FCKeditor 图片上传进度条不动的解决方法

    开发的“历史五千年”网站,使用FCKeditor,在本地上传图片一切正常,但昨天晚上实际向网络服务器(Windows Server 2003)发送图片时,发送图像进度条一直在滚动,无法关闭,通过FTP服务器查看服务器,图片已经传送上去,但这个滚动条却无法结束。
    2011-08-08
  • IE8 Fckedit2.6.X不兼容

    IE8 Fckedit2.6.X不兼容

    经过测试IE8和FCKEditer出现不兼容的情况,表现在提交数据时Fckediter对象里面的数据为空
    2009-04-04
  • 针对PHP环境下Fckeditor编辑器上传图片配置详细教程

    针对PHP环境下Fckeditor编辑器上传图片配置详细教程

    今天介绍Fckeditor上传图片功能在PHP中的配置方法,涉及Fckeditor上传图片的上传路径配置、限制Fckeditor上传图片大小设置、Fckeditor上传图片文件名重名及乱码解决方法以及针对上传图片添加水印功能的实现方法,只要掌握了以上四点,Fckeditor在大部分PHP类型网站中的应用都能解决
    2014-04-04
  • 当使用ckeditor控件时,需要校验输入内容是否为空的一种解决办法(转帖)

    当使用ckeditor控件时,需要校验输入内容是否为空的一种解决办法(转帖)

    这样是我们写程序中最经常的写法 提交之前进行验证内容是否为空!
    2011-01-01
  • 22个国外的Web在线编辑器收集

    22个国外的Web在线编辑器收集

    本文搜集了 22 个 Web 在线编辑器,它们基本代表了当前 Web 编辑器的现状。
    2010-06-06
  • ThinkPHP中FCKeditor编辑器的使用方法

    ThinkPHP中FCKeditor编辑器的使用方法

    前段时间一直为TP寻找好用的在线编辑器而苦恼,经过多次尝试与修改后,终于成功地将编辑器集成到Thinkphp里面
    2012-07-07
  • Prism 代码高亮修改不包含 Code 标签的支持

    Prism 代码高亮修改不包含 Code 标签的支持

    在 WordPress 中加入了百度的 UEditor 编辑器后,由于自带的代码插件在使用时只会在代码外层加入 pre 标签,下面给出解决方法,需要的朋友可以参考下
    2017-03-03
  • 为SyntaxHighlighter添加新语言的方法

    为SyntaxHighlighter添加新语言的方法

    因为经常要在博客里贴一些Lua代码,但是所使用的SyntaxHighlighter插件默认不支持Lua语言,所以去研究了一下如何为SyntaxHighlighter添加并激活一个新的语言,这里将过程和有同样需求的童鞋分享
    2013-10-10

最新评论