基于FCKeditor多在线文本编辑器的设计

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:boyzhxj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章介绍了基于FCKeditor能自动隐藏的在线文本编辑器的设计原理,并提供相关的主要代码。该方法简单有效,代码可移植性非常好,用户也可方便地根据不同需求做相应的修改。基于这种设计原理,对于其他的在线编辑器也可进行相似的设计。
  关键词:在线文本编辑器;FCKeditor;自动隐藏
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)24-1198-02
  The Design of Multiply Text Editor for Internet Based on FCKeditor
  RAO Yong-sheng1, WANG Ying2
  (1.Institute of Educational Software, Guangzhou University, Guangzhou 510006, China; 2.South China Institute of Software Engineering, Guangzhou 510006, China)
  Abstract: This article introduces the design theory of auto-hide about the editor for internet based on FCKeditor. And give the primary codes which make the online editor be auto-hiding. This method is simply, effective, and with good translated and expansibility. Based on this theory, we can do similar things to other online editor.
  Key words: the text editor; FCKeditor; auto-hide
  在建设具有交互性网站时,都允许用户输入数据,如发表评论、新增主题、发送信息等,而如今所输入的数据所包含的不仅仅是文本信息,还包括图片、链接、FLASH,甚至音频和视频等,这就不是HTML提供的TEXT或TEXTAREA所能完成的,一般的开发者都会使用第三方的在线编辑器来实现,这样对开发者和用户都极为方便。第三方的在线编辑器有很多,FCKeditor是其中一个使用较多、免费的编辑器。
  
  1 FCKeditor简介
  
  FCKeditor(FCKeditor主页:http://www.fckeditor.net)是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用,且不必在客户端进行任何方式的安装。在所有的在线编辑器中,FCKeditor属于目前互联网上最好的编辑器之列,它功能强大,支持多种浏览器,无平台限制,可以和ASP.NET、ASP、JSP、PHP等多种Web语言融合,多语言支持,开放源码,扩展方便,加载速度快等。
  
  2 自动隐藏在线多编辑器的需求
  
  笔者开发一套英语自主学习平台(http://www.gzjzes.net)时选择了FCKeditor在线编辑器。在该平台中,多处需要使用在线文本编辑器,尤其是教师用户往题库中增加题目时,需要多个文本框供教师输入题目的相关信息,如:题目内容、注释、答案、解答过程等等。为了用户界面的友好以及使用方便,这些文本框都采用所见即所得的方式,即需要为每个文本框注册FCKeditor编辑器,然后由于需要的文本框较多,这就会影响页面的加载速度,而且也会因为每个文本框都有工具栏使得页面变得较复杂,用户使用时也不方便,如图1。
  
  图2 能自动隐藏工具栏的编辑器
  <script type="text/javascript">
  <!--
  var g_sCurrEditor = "";//全局变量,记录当前获得焦点的编辑器名称
  function FCKeditor_OnComplete( editorInstance ) {
  //设置编辑器获得焦点的响应函数
  editorInstance.EditorDocument.body.onfocus =
  function(){ focusChange( editorInstance.Name ); };
  }
  function focusChange( sInstanceName ) {
  if( g_sCurrEditor !=sInstanceName ) {
  var oEditor = FCKeditorAPI.GetInstance( sInstanceName );
  oEditor.ToolbarSet.Expand();//展开工具栏
  if( g_sCurrEditor != "" ){
  var oEditor = FCKeditorAPI.GetInstance( g_sCurrEditor );
  oEditor.ToolbarSet.Collapse();//关闭g_sCurrEditor的工具栏
  }
  g_sCurrEditor = sInstanceName;
  }}
  -->
  </script>
  在函数FCKeditor_OnComplete中设置编辑器获得焦点的响应函数,使得编辑器获得焦点时就调用自定义函数focusChange。在函数focusChange中,首先判断通过全局变量g_sCurrEditor记录的当前活动编辑器与正获得焦点的编辑器sInstanceName是否相同,如果不同,则展开编辑器sInstanceName的工具栏,然后通过编辑器的名称g_sCurrEditor 与FCKeditor的API函数GetInstance获得当前活动编辑器g_sCurrEditor的对象,通过对象则很容易让其工具栏隐藏起来,最后修改当前活动编辑器名称,即对变量g_sCurrEditor赋值。
  加入上面代码后,则可为任意页面实现自动隐藏编辑器功能,只需要在设计好页面后直接注册编辑器,图2中的页面注册代码如下:
  <script type="text/javascript">
  <!--
  //初始化控件
  g_sCurrEditor = "ta_note";
  RegistFCKeditorEX( "ta_passage", 120, false );
  RegistFCKeditorEX( "ta_note", 120, true);
  RegistFCKeditorEX( "ta_content", 120, false );
  RegistFCKeditorEX( "ta_answer", 120, false );
  RegistFCKeditorEX( "ta_process", 120, false );
  // RegistFCKeditorEX为笔者自定义函数,以方便注册编辑器
  …
  </script>
  
  5 小结
  
  在线编辑器的需求在网站建设中几乎是必备的,而对于某些需输入较多数据的网站,往往会需要多个文本编辑器,对此为了能加快页面加载速度、方便用户使用及界面的友好性,笔者提供的一种能自动隐藏工具栏的方法,该方法简单有效,提供的实现代码可移植性非常好,另外基于这种设计原理,对于其他在线编辑器也可进行相似的设计,达到自动隐藏的目的。读者可在此原理及实现上根据需要改动代码,以达到不同的效果,满足各种不同需求,如某些文本框需要自动隐藏而其他一直显示等。文章没有介绍如何使用FCKeditor,有兴趣的读者可在网上查阅,这方面的内容很多。
  
  参考文献:
  [1] FCKeditor官方网[EB/OL].http://www.fckeditor.net.
  [2] 刘洪伟, 魏振钢.一个网页在线发布系统的设计与实现[J].计算机应用研究,2002,19(3):143-144.
其他文献
摘要;众所周知,在这计算机高速发展的时代,很多工作已经可以在计算机上完成了,尤其是设计与仿真分析。如今,循环进行“修改到完善”的传统设计方法难以满足现代设计要求,先进的有限元分析方法就成为有效支持产品设计的工具。在众多的有限元软件中,Abaqus作为国际知名的有限元分析软件,其分析精准性早已得到反复验证,广泛的用户群就是不言而喻的有力证明。该文就如何更好的使用Abaqus脚本去对机器人零部件仿真分
摘要:随着创新教育的逐步推进,尤其在李克强总理提出了“大众创业、全民创新”的号召以来,要求把学生推向前台,还主动权给学生,最大限度地激发学生的乐学情绪,培养学生创新精神,机器人课程是一门实践性、技能性很强的学科,需要鼓励学生动手、动脑,机器人创新教育中能很好地助推“任务驱动”、自主学习”、 “协作学习”、“激发兴趣”以及“创新意识”等得到了实现,因为机器人教学集积木、电动机、传感器、小灯泡、梁、销
摘要:以專业建设为依托,以校企合作为契机,该文研究了高职校企合作人才培养模式,认真分析了高职校企合作人才培养模式的存在问题,并针对问题,提出适合当前高职多层次、多方位、多形式的校企合作人才培养模式,同时以该院电气自动化技术专业核心课程《自动生产线安装与调试实训》为例,简单介绍校企合作人才培养模式对促进我院课程改革等方面的影响。  关键词:电气自动化技术专业;校企合作;人才培养;人才培养模式  中图
摘要:文章分析独立学院计算机类专业人才培养存在的问题,提出了基于导师制的专业人才孵化,并以广西师范大学漓江学院为试点,探讨了孵化路线及孵化过程,实践了“3重1厚”的人才培养过程,经过几年的实践,取得了初步的成效。  关键词:导师制;孵化;计算机类专业;独立学院  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)13-0120-02  隨着经济科技的发展,IT应用几乎
摘要:针对地方本科高校计算机及相关专业人才培养现状进行分析,提出了将ACM竞赛引入计算机专业应用型人才培养,搭建ACM在线评测学习平台,以赛促学来调动学生的自主学习积极性,以赛促教来提高专业教学水平,充分锻炼了学生实践操作能力、团队协作能力和心理承受能力,培养符合行业企业所需计算机应用技术型人才。实践证明,文中采用的应用型人才培养新模式取得了良好效果。  关键词:ACM竞赛;计算机;应用型人才;培
摘要:该文以江苏旅游职业学院为例,介绍了该校计算机网络技术专业从技能大赛对专业建设的促进作用研究出发,本着“以赛促教、以赛促学、以赛促改”的原则,构建计算机网络技术专业课程体系与人才培养模式,并形成理论成果与实践案例。  关键词:技能大赛;专业建设;人才培养模式  中图分类号:G424 文献标识码:A 文章编号:1009-3044(2018)33-0165-02  Abstract: Taking
摘要:该文通过查找大量资料,对 9个指标(本科院校数量、招生人数、师资队伍与结构、生师比、教学条件与利用、专业建设与教学改革、学生就业、科研投入与产出、双一流学科建设)的数据进行分析并量化处理,得出每项指标的权重。然后通过建立“灰色关联分析法”数学模型,计算灰色关联系数以及灰色加权关联度,得出江苏省13个地级市本科教育质量的评价系数和排名。  关键词:本科教育质量 ;评价指标;灰色关联分析法  中
摘要:針对射频功率放大器的特点,采用CMOS工艺设计射频集成功率放大器,采用差分输入的方式以及cascode结构,大大提高了射频放大器的增益性能,且具有较高效率及线性度。  關键词:功率放大器;射频集成电路;CMOS工艺
摘要:随着数字技术的快速发展,非物质文化遗产保护项目逐渐采用虚拟现实等先进的数字化技术来提升保护质量。该文在分析当前国内少数民族非物质文化遗产保护现状的基础上,阐述了数字化技术保护的方法及虚拟现实技术的优势,并以湘西地区的赶秋节这一典型“非遗”项目为例,提出了利用虚拟现实技术进行数字化保护的解决方案。  关键词:非物质文化遗产;赶秋节;数字化技术;虚拟现实  中图分类号:TP302 文献标识码:A
摘要: 新闻类微信公众号已经成为大众获取新闻的重要来源,成为传统媒体在新媒体环境下最好的平台延伸之一。该文通过总结海峡之声广播电台微信公众号在实践过程中的经验和教训,简单探讨下新媒体环境下新闻类微信公众号的发展思路和传播的有效途径。  关键词:新媒体;微信公众号;编辑;海峡之声  中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2017)25-0190-02  在所有的新媒体中