`
jindw
  • 浏览: 508321 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

基于FCKEditor 开发JSI Editor装饰器

阅读更多

基于FCKEditor 开发JSI Editor装饰器:


组件介绍:

JSI Editor装饰器,是一个用于可视化html编辑的组件(当能,将来也可考虑其他格式,如ubb),在标记设计上,参照Mozilla XUL的editor标记。而具体实现上,使用FCKEditor。

效果:


 

装饰器实现代码:

 
  1. /** 
  2.  * @public 
  3.  * @decorator editor 
  4.  * @attribute src 
  5.  * @attribute contenttype text/html(默认值) text/ubb .... 
  6.  */  
  7. function Editor(){  
  8.   
  9. }  
  10. Editor.prototype = new Decorator();  
  11. Editor.prototype.decorate = function(){  
  12.   var container = this.getContainer();  
  13.   var textarea = container.getElementsByTagName('textarea')[0];  
  14.   var fckEditor = new FCKeditor(textarea.name);  
  15.   var src = this.attributes.get('src');  
  16.   if(src){  
  17.     new Request(src,  
  18.     {asynchronous:true}).setFinishListener(function(){  
  19.       textarea.value = this.getText()||textarea.value;  
  20.       fckEditor.ReplaceTextarea();  
  21.     }).send();  
  22.   }else{  
  23.     fckEditor.ReplaceTextarea();  
  24.   }  
  25. }  


装饰器定义代码:

装饰器定义其实就是普通类库定义,没有任何区别。
 
  1. //选自org/xidea/decorator/__$package.js,删除了无关信息  
  2. this.addScript("editor.js",'Editor');  
  3. this.addObjectDependence("*",  
  4.     "js.html.Decorator",true);  
  5. this.addObjectDependence("Editor",  
  6.     "js.io.Request",false);  
  7. this.addObjectDependence("Editor",  
  8.     "net.fckeditor.FCKeditor",false);   



使用方法:

使用JSI装饰器,需要在页面上做如下处理:
  1. 增加命名空间(xmlns:d="http://www.xidea.org/taglib/decorator")
  2. 加入JSI引导脚本(<script src="../scripts/boot.js"></script>)
  3. 加入所用装饰器的标记
简单示例:
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  3. <html xmlns="http://www.w3.org/1999/xhtml"  
  4.   xmlns:d="http://www.xidea.org/taglib/decorator" xml:lang="zh_CN"  
  5.   lang="zh_CN">  
  6. <head>  
  7. <script src="../scripts/boot.js"></script>  
  8. <title>Editor 示例</title>  
  9. </head>  
  10. <body>  
  11. <d:editor>  
  12.   <textarea name='editorText'>  
  13.    待编辑html:<br>  
  14.   This is some <strong>sample text</strong><br>  
  15.   You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.<br>  
  16.   </textarea>  
  17. </d:editor>  
  18. </body>  
  19. </html>  

总结:

JSI 装饰器是一个新事物,如果要一切从零开始,是一个艰巨的任务;但是,借助于JSI无侵入的特性,我们可以集百家之长。在前人丰厚的积累上,创造出更加简单易用的ui 组件集。

海纳百川,有容乃大。
  • 大小: 57 KB
分享到:
评论
2 楼 jindw 2007-05-12  
不明白,这与Dojo何干?
这个例子要说慢,主要是Fck,没有办法,JS做成那样的功能,就得慢。

不过,这种速度,我认为还是可以接受得。将来硬件新能的提升,这个问题也会越来越小。

1 楼 winterwolf 2007-05-12  
dojo就够慢的 fck也慢 再加上这个包装 !

简化客户端的js提高维护性和开发效率还有其他方法

1 在cilent端对js进行包装
楼主用xml标签来做确实很简单

2 服务器准备加工好的dom节点 cilent的js拿来直接用.
我现在这么做 因为我采用的框架特殊 这么做很简单.

3 浏览器集成 功能view一体的UI.
比如xform 

如果在浏览中集成这种东西我双手赞成. 将客户端搞的更胖我双手反对.

相关推荐

    最新FCKeditor_2.6 版本 FCKeditor编辑器和控件

    实际上,需要对FCKeditor编辑器文件组中的通用配置文件/fckconfig.js和ASP.NET专用文件上传管理代码文件/editor/filemanager/connectors/aspx/config.ascx进行配置。 1. 配置控件语言 FCKeditor是自动探测浏览器...

    FCKeditor开发jar包及fckeditor文件夹

    - `editor`子目录:FCKeditor的核心编辑器文件,包含JavaScript文件、CSS样式表、图片和其他必需的资源,这些文件在网页中被引用以实现编辑器的功能。 - `samples`子目录:包含各种示例页面,展示了FCKeditor的...

    ASP.NET mvc使用FCKeditor.zip在线编辑器示例

    一个用于展示FCKeditor的视图可能命名为`Editor.cshtml`,在这里,开发者会使用HTML和Razor语法嵌入FCKeditor的JavaScript库,并设置编辑器的配置。 `Content`目录通常存储静态资源,如CSS样式表和JavaScript文件。...

    FCKeditor 2.6.6 可直接使用

    FCKeditor是一款在Web开发中广泛使用的开源富文本编辑器,它允许用户在浏览器环境中进行类似Word的文本编辑操作。标题提到的是FCKeditor的2.6.6版本,这是一个相对成熟的版本,具有稳定性和兼容性的优点。相比于后来...

    FCKeditor (jsp在线编辑器)配置总结

    **FCKeditor (jsp在线编辑器)配置总结** FCKeditor是一款开源的Web富文本编辑器,主要用于在网页上提供类似Microsoft Word的编辑体验,让用户能够方便地在浏览器端进行文字处理、格式调整和多媒体插入等操作。它...

    HTML 文本编辑器FCKeditor

    FCKeditor是一款开源的、基于Web的HTML文本编辑器,它允许用户在浏览器环境中进行富文本编辑,类似于桌面应用程序中的文本编辑体验。这款编辑器广泛应用于网站内容管理系统(CMS)、论坛、博客等,提供了丰富的编辑...

    FCKeditor2.3在线编辑器

    尽管现在有更先进的富文本编辑器如TinyMCE、CKEditor等,但FCKeditor对于了解富文本编辑器的历史发展以及早期Web开发有着重要的参考价值。通过深入学习和使用FCKeditor2.3,开发者不仅可以掌握在线编辑器的基本工作...

    FckEditor在线编辑器

    FckEditor是一款强大的开源在线文本编辑器,广泛应用于网站建设和内容管理系统中,为用户提供类似桌面文字处理软件的编辑体验。它的全称为“FCKeditor”,最初由Fernando Goycoolea创建,后来更名为CKEditor。这款...

    fckeditor开发.net-Demo带上传图片功能

    FCKeditor是一个基于JavaScript的在线文本编辑器,它允许用户在网页上获得类似桌面文字处理软件的编辑体验。它的核心功能包括文本格式化、插入图片、链接、表格等,广泛应用于博客、论坛、内容管理系统等。 2. **...

    FCKeditor(在线文本编辑器)

    **FCKeditor在线文本编辑器详解** FCKeditor是一款经典的开源在线文本编辑器,它为网页开发者提供了一种方便的方式,使用户可以在浏览器环境中编辑HTML内容。这款编辑器以其丰富的功能集、良好的自定义性和易用性而...

    文本编辑器FCKEditor使用详解

    FCKeditor 是一款流行的开源文本编辑器,主要用于Web开发,它提供了所见即所得(WYSIWYG)的编辑体验,使得用户在网页上编辑内容时就像使用桌面文字处理软件一样方便。这款编辑器支持插入图片、Flash动画等多媒体...

    基于jsp的FCKeditor终于配置好了

    在Web开发中,富文本编辑器(Rich Text Editor)常常用于提供用户友好的内容输入界面,FCKeditor便是其中一款经典的开源编辑器。本文将深入探讨如何在Java Web环境中,利用JSP技术成功配置FCKeditor。 【配置步骤】...

    基于Java使用FCKeditor

    【基于Java使用FCKeditor】 FCKeditor是一款流行的开源富文本编辑器,广泛应用于Web开发中,为用户提供类似Microsoft Word的界面,使得在网页上编辑文本变得简单直观。本篇文章将深入探讨如何在Java环境下集成并...

    FCKeditor_2.6.8.zip

    FCKeditor是一款开源的、基于Web的富文本编辑器,它允许用户在网页上进行类似Word的文本编辑操作,支持创建和编辑含有图文混合的内容。这个版本是2.6.8,是一个稳定且功能丰富的版本,为网站开发人员提供了方便的...

    FCKeditor配置for java

    FCKeditor是一款流行的开源富文本编辑器,广泛应用于Web开发中,为用户提供类似于Microsoft Word的界面,使用户能够轻松创建和编辑HTML内容。在Java Web开发环境中,集成FCKeditor可以提升用户体验,使得内容创建和...

    利用FCKEditor作为邮件内容编辑器

    标题中的“利用FCKEditor作为邮件内容编辑器”是指在Web应用中,使用FCKEditor这一富文本编辑器来创建和编辑电子邮件的内容。FCKEditor是一款开源的在线文本编辑器,它提供了类似Microsoft Word的界面,让用户可以在...

    fckeditor网站在线文本编辑器+asp.net

    "Fckeditor"是一款强大的在线文本编辑器,主要用于网页内容的创建和编辑。它为开发者提供了一种简单、便捷的方式来实现富文本输入,使得用户无需具备HTML或JavaScript知识就能创建格式丰富的网页内容。这款编辑器...

Global site tag (gtag.js) - Google Analytics