- 浏览: 235267 次
- 性别:
- 来自: 我也来自火星?
-
文章分类
最新评论
-
chengUFO:
Test tes = c.newInstance();执行以上 ...
自定义ClassLoader -
lliiqiang:
资料太少了,伪造客户端和事先标准以外数据为攻击,其它的是bug ...
Openlaszlo调用JavaRPC和JAVA类通信 -
tianshaojie:
楼主,为什么我安装你的方法建立工程后,访问就出错,我用的是ta ...
Tapestry4入门 -
panshunchang:
发帖过程这么辛苦,还要回答一大堆问题,受不了了
[常用代码整理]JAVA反射 -
活靶子:
生成一个join的SQL语句
SELECT items.* F ...
Better looking URLs with friendly_id
建立一个WTP的WEB工程,解压FCKeditor的压缩包,将压缩包下面的FCKeditor目录拷贝到建立的WEB工程的WebContent目录下,目录结构如图所示:
下面对FCKedior目录下面的目录及文件作一个说明:
(1) “_”开头的目录或文件为FCKeditor的DEMO等资料,都可以在工程中删除
(2) editor目录
该目录为FCKeditor主要目录,目录结构如图:
该目录为FCKeditor的核心目录,包含了FCKeditor的核心文件,其中:
(1) _source为FCKEditor的源文件目录
(2) css为FCKeditor的样式文件目录
(3) dialog为FCKeditor工具栏中相应的工具按钮的弹出对话框文件目录
(4) filemanager为FCKeditor处理文件上传的文件目录
(5) images为FCKeditor中增加表情头像等资源的图像文件目录
(6) js为FCKeditor的核心javascript文件目录
(7) lang为FCKeditor的语言文件目录,包含国际化支持。
(8) plugins为FCKeditor的插件目录,FCKeditor的插件开发文件都放入该目录
(9) skins为FCKeditor的皮肤文件,自带三种皮肤文件default,office2003和silver。
本文所写的插件开发,主要就是在plugins目录下进行的。下面说明如何编写FCKeditor插件:(在编写插件的时候借鉴了FCKeditor的插件placeholder,该插件也在plugins目录下)
(1) 在plugins目录下面新建code目录
(2) 在code目录下面新建lang目录
目录结构如图所示:
(3) 新建fckplugins.js文件,该文件为FCKeditor插件的定义文件,内容如下:
//注册Code命令. FCKCommands.RegisterCommand( 'Code', new FCKDialogCommand( 'Code', FCKLang.CodeDlgTitle, FCKPlugins.Items['code'].Path + 'code.html', 340, 170 ) ) ; // 注册名为”Code”的工具栏按钮 var oCodeItem = new FCKToolbarButton( 'Code', FCKLang.CodeBtn ) ; oCodeItem.IconPath = FCKPlugins.Items['code'].Path + 'code.gif' ; FCKToolbarItems.RegisterItem( 'Code', oCodeItem ) ; // 创建FCKCodes对象,通过FCKCodes对象处理工具栏按钮的操作 var FCKCodes = new Object() ;
下面分加对上面的各个命令作一下说明:
通过FCKCommands的RegisterCommand命令注册一个名为”Code”的命令,new FCKDialogCommand()说明”Code”命令为一个对话框命令,FCKLang.CodeDlgTitle为弹出对话框的标题,它的值在code目录下的lang目录下的语言文件中定义,lang目录下面en.js,zh_cn.js等是语言的资源文件,采用国际化资源文件的命名方式,下面给出zh_cn.js的内容:
FCKLang.CodeDlgTitle就说明在语言文件中有一个键为FCKLang.CodeDlgTitle的字符串。
FCKPlugins.Items['code'].Path + 'code.html', 340, 170 ) ),这个方法主要是用来加载code目录下面的code.html网页文件(该网页的内容在下面给出),上面说到的弹出对话框,就是以窗口的方式显示code.html这个网页文件。而下面的340,170是弹出的网页的大小(这个和windows.open()这个方法类似)。
// 注册名为”Code”的工具栏按钮 var oCodeItem = new FCKToolbarButton( 'Code', FCKLang.CodeBtn ) ; oCodeItem.IconPath = FCKPlugins.Items['code'].Path + 'code.gif' ;
通过FCKToolbarButton来定义一个名为”Code”的工具栏按钮,FCKLang.CodeBtn同样为获取语言文件中的字符串。
FCKPlugins.Items['code'].Path + 'code.gif' 用来加载code目录下面的”code.gif”图像文件,该图像用为工具栏按钮的位图文件。
FCKToolbarItems.RegisterItem( 'Code', oCodeItem ) 最后通过FCKToolbarItems.RegisterItem注册”Code”按钮。
(注意:上面的”code”都为plugins下面定义的”code”插件的目录名)
下面是fckcustom.js文件,内容如下:
// ONLY CHANGE BELOW HERE FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/'; FCKConfig.Plugins.Add( 'code', 'en,zh,zh-cn' ) ; FCKConfig.ToolbarSets["Plugin"] = [ ['Source','-','-','Templates'], ['Cut','Copy','Paste','PasteWord','-','Print','SpellCheck'], ['Undo','Redo','-','Find','Replace','-','SelectAll'], '/', ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'], ['OrderedList','UnorderedList','-','Outdent','Indent'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], ['Link','Unlink'], '/', ['Image','Table','Rule','Smiley'], ['FontName','FontSize'], ['TextColor','BGColor'], ['-','Code'] ] ;
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/'为设定FCKeditor的皮肤文件,这些皮肤文件就是在FCKeditor/editor/skins目录下面的皮肤文件。
FCKConfig.Plugins.Add( 'code', 'en,zh,zh-cn' ) 为加载刚才自己定义的”code”插件(注意:这里的”code”都为plugins下面定义的”code”插件的目录名),后面的’en,zh,zh-cn’为该插件支持的语言,这里指定支持英文,简体中文和繁体中文(需要在插件目录的lang目录中编写语言文件)
可以看到,这就是一个普通的HTML文件,里面可以写HTML标签,也支持javascript的脚本语言,需要说明的是下面部分:
如上面代码所示,首先要加载自己定义的FCKeditor配置文件,就是我们刚才写的fckcustom.js文件,加外,我们在上面已经在自定义的ToolbarSets ---“Plugin”中加入了自定义的”Code”工具栏按钮,所以我们只要在FCKeditor中指定使用”Plugin”这一个工具栏设置就可以了。
最后效果如下图所示:
注意工具栏右下角的”码”工具栏按钮,就是自己定义的按钮,”码”为code.gif图片内容,下图为弹出的网页:
var oEditor = window.parent.InnerDialogLoaded() ; var FCKLang = oEditor.FCKLang ; var FCKCodes = oEditor.FCKCodes ; window.onload = function () ...{ oEditor.FCKLanguageManager.TranslatePage( document ) ; window.parent.SetOkButton( true ) ; }
var oEditor = window.parent.InnerDialogLoaded()通过这个方法,来获取弹出网页的父网页
接着就可以这个oEditor对象来获取FCKeditor的资源,包括刚才自定义的插件对象,像下面的
var FCKCodes = oEditor.FCKCodes来获取在fckplugins.js中定义的FCKCodes对象。
加一个要说明的地方是<span fckLang="CodeDlgName">,可以通过fckLang这个标签来获取在lang目录下面的语言文件中的语言资源,以此来实现FCKeditor的国际化。
通过window.onload()方法中网页文件加载时调用上面创建的oEditor对象的FCKLanguageManager对象的TranslatePage(document)方法给页面加入国际化支持。
并且指定父窗口的”Ok”命令可用。
在FCKeditor中调用自定义插件
oFCKeditor.Config['CustomConfigurationsPath'] = '../editor/plugins/code/fckcustom.js'; oFCKeditor.ToolbarSet = "Plugin";
FCKConfig.ToolbarSets["Plugin"] = [ ['Source','-','-','Templates'], ['Cut','Copy','Paste','PasteWord','-','Print','SpellCheck'], ['Undo','Redo','-','Find','Replace','-','SelectAll'], '/', ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'], ['OrderedList','UnorderedList','-','Outdent','Indent'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], ['Link','Unlink'], '/', ['Image','Table','Rule','Smiley'], ['FontName','FontSize'], ['TextColor','BGColor'], ['Code'] ] ;
//注册Code命令. FCKCommands.RegisterCommand( 'Code', new FCKDialogCommand( 'Code', FCKLang.CodeDlgTitle, FCKPlugins.Items['code'].Path + 'fck_code.html', 340, 170 ) ) ;
这定义自己的工具栏,注意其中的[‘Code’],”Code”为刚才定义的”Code”工具栏命令按钮,通过FCKConfig.ToolbarSets将自定义的插件加入到了工具栏中。
下面给出code.html文件内容:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Code Properties</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta content="noindex, nofollow" name="robots"> <link href="stylesheets/highlight.css" media="screen" rel="Stylesheet" type="text/css" /> <script language="javascript"> var oEditor = window.parent.InnerDialogLoaded() ; var FCKLang = oEditor.FCKLang ; var FCKCodes = oEditor.FCKCodes ; window.onload = function () { oEditor.FCKLanguageManager.TranslatePage( document ) ; window.parent.SetOkButton( true ) ; } function Ok() { var select = document.getElementById('code_type'); FCKCodes.Add(select.options[select.selectedIndex].innerHTML,document.getElementById('code_text').value); return true ; } </script> </head> <body scroll="no" style="OVERFLOW: hidden"> <table height="100%" width="95%" align="center"> <tr height="40"> <td><span fckLang="CodeDlgName"></span></td> <td> <select id="code_type"> <option selected="selected">java</option> <option>ruby</option> <option>python</option> <option>c/c++</option> <option>c#</option> <option>sql</option> <option>xml</option> <option>css</option> <option>javascript</option> </select> </td> </td> </tr> <tr valign="top"> <td><span fckLang="Code"></span></td> <td><textarea id="code_text" cols="90" rows="20"></textarea></td> </tr> </table> </body> </html>
FCKLang.CodeBtn = '插入代码' ; FCKLang.Code = '代码'; FCKLang.CodeDlgTitle = '插入代码' ; FCKLang.CodeDlgName = '语言' ; FCKLang.CodeErrNoName = '请输入代码' ;
//注册Code命令. FCKCommands.RegisterCommand( 'Code', new FCKDialogCommand( 'Code', FCKLang.CodeDlgTitle, FCKPlugins.Items['code'].Path + 'fck_code.html', 340, 170 ) ) ;
发表评论
-
vim补全
2009-10-13 16:42 0引用VIM自动不齐不需要特殊配置,只需要打开 filetype ... -
一次小项目的思考
2009-08-20 23:11 3523最近的一个项目,四个 ... -
IntelliJ Idea插件Jetty Integration恢复开发
2009-08-19 14:34 3606今天在je上面看到了一条新闻 Google 选择 Jetty, ... -
PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码
2009-07-30 14:05 2277在用PowerDesigner时.常常在NAME或Commen ... -
使用VisualSVN Server构建自己的版本库
2008-12-16 16:13 1721VisualSVN Server是用于Subversion管理 ... -
在laszlo方法中使用参数
2006-03-22 14:56 987<canvas debug="true&quo ... -
openlasz入门---openlaszlo环境的建立
2006-04-11 22:09 1724关于openlaszlo的介绍网站上面也蛮多了,所以,在这里也 ... -
Openlaszlo调用JavaRPC和JAVA类通信
2006-04-20 10:31 1856JavaRPC允许Laszlo客户端远程调用服务端的JAVA类 ... -
使用 JavaMail 收发邮件,解决中文附件问题
2007-02-07 11:22 3864几天来一直在开发一个项目,其中一部分需要用 JavaMail ... -
FCKEditor使用说明
2007-02-17 13:53 15211. FCKeditor 介绍 FCKeditor 这个开源的 ... -
一个不错的开源数据库H2
2007-02-17 14:10 1514H2是一个采用Java开发开源的嵌入式SQL数据库。它支持集群 ... -
JAVA获取系统当前的用户
2007-03-02 17:15 6760public class Test { ... -
Idea8试用
2008-03-23 21:56 1690刚刚在新闻频道看到关于Idea的新闻,对它的javascrip ... -
HtmlUnit测试页面
2008-03-02 22:29 9918HtmlUnit简介:引自 www.open-open.com ... -
java的数据结构
2007-11-11 19:04 1506线性表,链表,哈希表是常用的数据结构,在进行Java开发时,J ... -
P6SPY监控数据库性能
2007-11-11 18:51 2951P6SPY监控数据库性能 P6SPY通过对JDBC API的 ... -
Idea7.0注册机
2007-10-20 22:55 3249Idea7.0注册机 -
[转]普元JS验证
2007-09-16 22:25 1701* -------------------------- ... -
Apache和Subversion搭建版本控制环境
2007-08-03 23:40 15701. 安装Apache2.0.59(Apache 2.2.4和 ... -
IDEA的RUBY插件试用
2007-07-31 22:21 3912经过http://www.intellij.org.cn站长的 ...
相关推荐
内容概要:本文详细介绍了LabVIEW控件的设计与实现,尤其是一些由经验丰富的老工程师精心打造的控件。LabVIEW是一款图形化编程语言,广泛应用于数据采集、仪器控制和工业自动化领域。文中通过具体实例展示了如何利用LabVIEW创建美观且功能强大的控件,如滑动条、波形图、金属质感旋钮、动态波形图表以及智能选项卡等。作者强调了LabVIEW控件在灵活性和美观度方面的优势,并分享了许多实用的技术细节和优化方法。 适合人群:具有一定编程基础并希望深入了解LabVIEW控件设计的开发者和技术爱好者。 使用场景及目标:适用于需要进行高效的数据展示和交互设计的应用场景,如工业控制系统、实验室设备操作界面等。目标是帮助用户掌握LabVIEW控件的高级特性,提高开发效率和用户体验。 其他说明:文章不仅提供了具体的代码示例,还探讨了控件美学背后的设计理念和技术实现,鼓励读者探索更多可能性。
Delphi 12.3控件之unidac_10.4.0_d27pro.exe
11.盛趣自闭面(还是自己太菜).txt
58面经面试过程和题目.txt
电大操作系统课后习题解答
人工智能技术与应用演讲【61页PPT】
chromedriver-mac-arm64-135.0.7049.41.zip
内容概要:本文详细介绍了QPSK(四相移键控)调制方法及其在瑞利信道和高斯白噪声信道下的误码率(BER)性能分析。首先展示了QPSK星座图的绘制方法,接着构建了一个简化的QPSK发射机模型,用于将二进制比特流映射到相应的星座点。随后,分别实现了两种信道模型:高斯白噪声信道(AWGN)和瑞利信道,并解释了它们的工作原理以及如何向传输信号添加噪声。文中还提供了详细的误码率测试脚本,通过大量随机比特进行仿真,最终得到了不同信噪比条件下的误码率曲线。此外,作者还讨论了QPSK与其他调制方式如BPSK、16QAM之间的性能差异,强调了频谱效率与抗噪能力之间的权衡关系。 适合人群:对无线通信系统感兴趣的科研人员、研究生以及从事通信工程领域的工程师。 使用场景及目标:①帮助读者理解QPSK的基本原理及其在不同信道环境中的行为特性;②提供实用的Python代码片段,便于快速搭建仿真环境并验证理论结果;③探讨各种调制方式的选择依据,指导实际应用中的优化决策。 其他说明:文中多次提到‘骚操作’,意指一些巧妙但非传统的编程技巧,有助于提高代码执行效率或简化复杂度。同时提醒读者注意仿真过程中可能出现的问题,如
新建 Microsoft Word 文档 (9).docx
计算机科学与技术- 软件开发工具 培训资料
bitcount统计每个元素中设置的位数 B = bitcount(A) Counts the number '1' bits in each element B = bitcount(A, bitValue) "bitValue" = 1 = default = counts the occurance of '1' if bitValue = 0; counts the number '0' The total bits to verify is [8,16,32,or 64] based on the maximal value of A B = bitcount(A, bitValue, maxBits) the total # of bits to examine
MOM生产运营管理平台解决方案【35页PPT】
deli-数码录音电话机-HCD6238(28)P-TSD-使用说明书
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之Tsilang 7.5.0.0 D12.7z
ios+UIButton分类+UIButton+UIButton图片文字位置
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之TextEditorPro64.7z
尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块 文章使用的资源,防止gitee资源丢失