fckeditor 插件参考二

fckeditor 插件参考二

在弹出窗口上访问编辑器:
1、如何在编辑器中插入文本:

前置约定:
插件名:insertvariables
插件位置:editor/plugins/insertvariables/

//创建自己的命令,不采用FCKDialogCommand的目的是FCKDialogCommand使用的是fck的缺省布局。
var InsertVariableCommand=function(){
};
InsertVariableCommand.prototype.Execute=function(){
}
//让按钮不能点击。
InsertVariableCommand.GetState=function() {
        return FCK_TRISTATE_OFF; }
//打开弹出窗口
InsertVariableCommand.Execute=function() {
        window.open('insertVariable.do', 'insertVariable', 'width=500,height=400,scrollbars=no,scrolling=no,location=no,toolbar=no');
}
//注册命令:
FCKCommands.RegisterCommand('Insert_Variables', InsertVariableCommand );
//注册按钮
var oInsertVariables = new FCKToolbarButton('Insert_Variables', 'insert variable');
oInsertVariables.IconPath = FCKConfig.PluginsPath + 'insertvariables/variable.gif';
FCKToolbarItems.RegisterItem( 'Insert_Variables', oInsertVariables );

//插入变量的请求页面:insertVariable.do
<html><head> etc...
<script language="javascript">
        <!--
        var variable            = null;
        var FCK                 = window.opener.FCK;
        function ok() {
                if(variable != null) {
                        FCK.Focus();
                        //只在ie中有效 var B = FCK.EditorDocument.selection.createRange(); B.text = variable; } window.close(); } //--> </script> </head> <body> etc.. <a href="#" onClick="variable='this is a test'; ok();">insert text</a> </body> </html>

//在fckconfig.js文件中加入以下字段
FCKConfig.Plugins.Add( 'insertvariables' ) ;
FCKConfig.ToolbarSets["myToolbar"] = [
        ['Bold','Italic','Underline'],['Insert_Variables']
] ;
				2、关联上下文菜单选项:
将插件的command注册到上下文菜单中:
FCK.ContextMenu.RegisterListener( { AddItems : function( menu, tag, tagName ) { // 符合条件显示:if ( tagName == 'IMG' && !tag.getAttribute( '_fckfakelement' ) )
if ( tagName == 'SPAN' && tag._fckplaceholder ) { // 显示分隔符
menu.AddSeparator() ; // 需要注册命令名,标题,以及图片路径。
   menu.AddItem( 'placeholder', FCKLang.PlaceholderDlgTitle, oPlaceholderItem.IconPath ) ; } }} );


你可能感兴趣的:(fckeditor 插件参考二)