当前位置: 首页 > 图文教程 > 网络编程 > 网页编辑器 > fckeditor 插件实例 制作步骤

网页编辑器
DISCUZ论坛的UBB编辑器(增加灵活调用,支持ASP)
一款垃圾中的极品HTML编辑器(兼容IE OR FF)
一个Javascript 编写的代码编辑器
TinyMce 中文手册 在线手册与下载
eWebEditor_v280_Free_Final最好用的网页编辑器下载
新浪博客在线编辑器傻瓜调用版(2007.11.1第四次修正)提供下载了
解密FCKeditor 2.0 的设置.修改.使用方法
比较不错的修改FCKEditor的修改方法
FCKeditor2.3 For PHP 详细整理的使用参考
又一个不错的FCKeditor 2.2的安装、修改和调用方法
FCKeditor的几点修改小结
ASX文件 终极教程
DISCUZ论坛的UBB编辑器(增加灵活调用,支持ASP UBB解析)打包下载
Qzone编辑器QzoneEditor打包下载
FCKEditor v2.6 编辑器配置图解教程
asp.net 为FCKeditor开发代码高亮插件实现代码
宝丽通实现连续播放实现代码
jsp Ewebeditor使用说明
编辑器中designMode和contentEditable的属性的介绍
修改fckeditor的文件上传功能步骤

网页编辑器 中的 fckeditor 插件实例 制作步骤


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 123 ::
收藏到网摘: n/a

一:基于对话框的插件:一步一步创建基于对话框的fck插件。 以创建一个简单的超级链接为例。可以从已经存在的placeholder插件的目录作为基本的骨架。
1. 命名插件名称为:"InsertLink". ,并建立同名的目录,并且在InsertLink目录下创建一个Lang的目录,lang目录下至少有一个文件en.js。该文件中至少要有按钮和对话框标题的国际化信息,比如:
FCKLang.InsertLinkBtn = 'Insert/Edit Link' ; //按钮的标题
FCKLang.InsertLinkDlgTitle = 'Link Properties' ; //对话框的标题
2:图片,在InsertLink文件夹中添加图片文件,最好将图片文件命名为和插件名一样的名称。图片的大小要求是20*21,并且是透明的。
3:javascript:
添加fckplugin.js文件到InsertLink目录。
注册相关命令:
注册命令的方法是FCKCommands.RegisterCommand(命令名称,对话框命令)
创建对话框命令的格式:new FCKDialogCommand( 命令名称, 对话框标题,url路径, 宽度,高度)
FCKCommands.RegisterCommand( 'InsertLink', new FCKDialogCommand( 'InsertLink', FCKLang.InsertLinkDlgTitle,
FCKPlugins.Items['InsertLink'].Path + 'fck_InsertLink.html', 340, 200 ) ) ;
// 创建工具栏按钮 new FCKToolbarButton( 按钮名称, 按钮标题 ) ;
var oInsertLinkItem = new FCKToolbarButton( 'InsertLink', FCKLang.InsertLinkBtn ) ;
oInsertLinkItem.IconPath = FCKPlugins.Items['InsertLink'].Path + 'InsertLink.gif' ;
FCKToolbarItems.RegisterItem( 'InsertLink', oInsertLinkItem ) ;
//创建用于所有InsertLink操作的对象
var FCKInsertLink = new Object() ;
//在当前的选择上插入一个超级链接
// 这个添加的方法将在弹出窗口点击ok按钮时被调用。
// 该方法将会接收从对话框中传来的值。
FCKInsertLink.Add = function( linkname, caption )
{
if(linkname.substr(0,4) != "http" && linkname.substr(0,4) != "HTTP")
linkname = "http://"+linkname ;
FCK.InsertHtml("<a href='"+linkname+"'>"+caption+"</a>") ;
}
4:html
在InsertLink目录下添加请求的文件。
请求文件的模板代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Link Properties</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta content="noindex, nofollow" name="robots">
<script language="javascript">
var oEditor = window.parent.InnerDialogLoaded() ;
var FCK = oEditor.FCK ;
var FCKLang = oEditor.FCKLang ;
var FCKInsertLink = oEditor.FCKInsertLink ;
window.onload = function ()
{
LoadSelected() ; //see function below
window.parent.SetOkButton( true ) ;
}
//从编辑器中得到当前的被选择的元素,有以下两种方法:
//1. 可用于image等元素的选择。
//var eSelected = oEditor.FCKSelection.GetSelectedElement() ;
//2. 由于有内部文本的元素
var eSelected = FCK.Selection.MoveToAncestorNode( 'A' )
if ( eSelected )
FCK.Selection.MoveToNode( eSelected ) ;
//如果超级练级被选择,那么显示超级链接的属性
function LoadSelected()
{
if ( !eSelected )
return ;
txtHref.value = eSelected.href ;
txtCaption.value = eSelected.innerText ;
//适合于第一种选择操作的代码:
// if ( eSelected.tagName == 'IMG' ) {
// -- code for setting dialog values -- }
// else
// eSelected == null ; //this will replace the current selection if not the right type
}
//点击ok按钮发生的操作
function Ok()
{
if ( document.getElementById('txtHref').value.length > 0 )
FCKInsertLink.Add( txtHref.value, txtCaption.value ) ;
return true ;
}
</script>
</head>
<body scroll="no" style="OVERFLOW: hidden">
<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
<tr>
<td>
<table cellSpacing="0" cellPadding="0" align="center" border="0">
<tr>
<td>
Type the URL for the link<br>
<input id="txtHref" type="text"><br>
Type the caption for the link<br>
<input id="txtCaption" type="text">
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<!-- End Code -->
5:编辑fckconfig.js文件,并加入下列代码,注册插件。
FCKConfig.Plugins.Add( 'InsertLink', 'en' ) ;
//在工具栏集合中定义命令名称。
FCKConfig.ToolbarSets["Default"] = [ , ['InsertLink']