十个最好用的所见即所得编辑器(WYSIWYG Editor)

作者:SoberMa 分类:Web前端 内容分享 发布日期:2010-04-16 16:25 已有:13 条评论 发表评论

让不懂代码的人也能方便地去格式化编辑文本,一直是开发者比较关注的事情。现在,我们很容易就能提供类似的功能。下面所列的10个所见即所得Web编辑器是非常常见的,也是值得你去关注的。说不定你的下个项目中就会有它们的身影。

1. NicEdit

演示 | 下载

NicEdit

NicEdit小巧精悍,拥有你所需要的大部分功能,而且也很容易集成到你的网站之中。它完全可以做为那些体积大、功能繁杂的编辑器的替代者。

2. TinyMCE

演示 | 下载

TinyMCE

TinyMCE是一个基于JavaScript的开源HTML所见即所得编辑器。它易于集成,并且拥有可高度定制的主题和插件。TinyMCE是功能非常齐全和强大的编辑器之一,它可以达到微软Word类似的编辑体验。

3. CKEditor

演示 | 下载

CKEditor

CKeditor是在FCkEditor基础上开发的新版本,而FCkEditor的市场地位之前已经得到了证明。建立在这个基础上的新版本,是为了修复FCkEditor的一些已知问题。而其结果肯定是造就一个可媲美微软Word和OpenOffice的完美功能、高性能的所见即所得编辑器。

4. YUI Rich Text Editor

演示 | 下载

YUI Rich Text Editor

YUI富文本编辑器是由Yahoo开发,用来控制UI界面,并把textarea文本域变成功能齐全区域的所见即所得编辑器。它虽然有几个具有不同功能特性的版本,但是仍然用不拥挤的按钮和功能界面达到了完美的用户体验。

5. MarkItUp!

演示 | 下载

MarkItUp!

Markitup!是一个基于jQuery的插件,它可以让你把任何一个textarea文本框变成变成一个标记语言编辑器。 Html, Textile, Wiki Syntax, Markdown, BBcode 或者任何一个你自己专属的标记语言都可以轻松地实施。 Markitup!不是你所期待的那种全功能编辑器,而是一款轻量级的,可高度定制的编辑器。Markitup!也不是所见即所得的编辑器,而且永远也不会那么去做。

6. FreeTextBox

演示 | 下载

FreeTextBox

FreeTextBox是一个特别为ASP.NET打造的HTML编辑器。它的外观和使用感觉,跟你在使用微软 Word时的感觉很类似。它的免费版本缺少一些附加的功能,但是免费版本已经足够用了。

7. MooEditable

演示 | 下载

MooEditable

所见即所得编辑器是一种比较流行的jQuery插件,但是作为Mootools插件的所见即所得编辑器就没那么常见了。而MooEditable填补了这一空白,它在Mootools这个优秀的JavaScript库的基础上,为用户提供了一个简单而又高效的体验。如果你是一个Mootools爱好者,你也会喜欢上这个编辑器的。

8. OpenWysiwyg

演示 | 下载

OpenWysiwyg

OpenWysiwyg是一个跨浏览器的富文本编辑器,它几乎拥有你所需要的各种功能。它还有一个包含下拉列表和按钮的时尚用户界面,其功能亮点是可以用来编辑具有不同边框和颜色的表格。遗憾的是,暂时还不支持Chrome。

9. Spaw Editor

演示 | 下载

Spaw Editor

Spaw是一款基于Web浏览器的所见即所得编辑器,它使网站开发者可以轻松地把标准的textarea文本区域替换为功能齐全、完全可定制、多语言、可换肤的基于Web的所见即所得HTML编辑器。

10. jHtmlArea

演示 |下载

jHtmlArea

jHtmlArea是一款以jQuery插件形式构建的所见即所得文本编辑器。它的目标是简单、重量,并且很好地达到了这个目标,里面仅保留了最基本的功能选项。它的外观、功能和语言都可以轻松地进行定制。

想进一步探讨吗?

如果你用过其中的一种,或者用了另外的一种基于Web的文本编辑器。或者,你对这个话题感兴趣,请在下面留言讨论。很乐意听到你的观点和声音!

PS:原文链接

点击查看全文 »

Web标准在中国的现状

作者:SoberMa 分类:Web前端 发布日期:2009-08-21 16:05 已有:10 条评论 发表评论

既然好多人不愿意使用Web标准进行Web前端开发,那么基于Web标准的Web前端开发在中国又是一种怎样的现状呢?Web标准方式的Web前端开发在中国的市场前景又如何呢?下面,我们一起去了解和分析一下。

是否符合标准,谁说了算

既然想要了解Web标准的中国现状,那就要首先明白什么样的Web前端页面是符合Web标准的,什么样的是不符合标准的,到底谁能够说了算。说到这里,我们必须提一下W3C(W3C是英文 World Wide Web Consortium 的缩写,中文意思是W3C理事会或万维网联盟。W3C于1994年10月在麻省理工学院计算机科学实验室成立。)的Markup Validation Service,也就是标记验证服务。这一服务是由国际万维网联盟推出的,用来校验一个Web页面的标记是否符合Web标准。

这一服务的在线地址是 http://validator.w3.org,页面截图如下图所示:

Web校验服务

Web校验服务

知名网站的Web标准现状

一般来说,通过W3C的这一服务,就可以快速检验一个Web页面到底是否符合Web标准。而国内的知名站点的Web标准现状如何呢,我们不妨找一些网站拿出来校验一下。

我们选取写作当天Alexa网站(http://www.alexa.com 一个第三方的国际网站排名统计服务)排名中的中国网站排名(Top Sites in China)前五名的网站去进行相关的标记校验。具体选中的网站截图如下:

Alexa网站

Alexa网站

下面我们把选中的网站去一一进行标记的校验。首先我们校验的是百度,百度是中国市场占有率最高的中文搜索引擎网站,其首页相当简单,但是其表象下的HTML代码是否也同样简单且清晰明了呢,我们一起来看一下:

百度首页HTML校验结果

百度首页HTML校验结果

可以看到,百度首页这种极其简单的页面还存在41个错误和22个警告,无法通过校验。

接下来,我们需要校验的网站是腾讯QQ网,QQ网通过QQ的广大用户群现在已经发展成国内目前整体流量和排名第一的门户类网站,我们来看看它的校验情况:

腾讯网HTML校验结果

腾讯网HTML校验结果

上图是校验的提示信息,通过阅读下面的相关信息,我们发现,由于HTML方面的问题,QQ首页的Web文档没有办法被进行校验。

QQ的页面是这样的一种效果,那么接下来的新浪网会是什么样子呢?新浪是中国的传统门户网站,在门户里面一直排名前三,我们来看看它的Web页面有没有像它的综合实力一样好:

新浪首页HTML校验结果

新浪首页HTML校验结果

意料之外,又是情理之中的事情,跟QQ一样,新浪的Web页面也是无法进行相关的校验,不知道这算不算是门户网站的通病。

下面这个,是广受好评的Google中文网站。Google在业界凭借不作恶的承诺和完美的技术一直保持着良好的口碑,不知道表象之下的Web代码校验起来会是什么样子的。猜测起来应该至少不会比百度的要差吧?我们一起拭目以待:

Google首页HTML校验结果

Google首页HTML校验结果

结果出来了,错误46个比百度的41个多5个,警告10个,远少于百度的22个。同时,鉴于Google的Web页面相比百度的不论结构和功能都要复杂很多,Google相比百度在Web标准方面把握的要好一些。

最后,我们一起来看一下淘宝网在Web标注方面的表现。写这一节的时候,查看Alexa,发现淘宝网难以置信地排在了第五位,很是惊讶。淘宝网最近发展的的确很快,而且他们一直在招聘Web前端开发工程师,有种欲招揽天下高手尽归我有的感觉。而且,淘宝UED在Web前端方面的确建树颇丰,也一直以国内前端的旗帜和领袖标杆来标榜。我们来看看他们的校验结果会不会让人有一种眼前一亮的感觉。

淘宝首页HTML校验结果

淘宝首页HTML校验结果

没错,您刚刚看到的就是淘宝网首页的Web页面校验结果。306个错误和6个警告。错误较多,但是警告相当少,看来在Web前端方面也算是没枉费心机。

为什么符合标准的网站这么少

上面我们看了国内Alexa前五名的网站的标记Web标准校验结果,我们已经预先做好了接受比较差的结果的心理准备,但是在现实面前却发现依然难以接受。

为什么,而这又是为什么呢?

究其原因,我感觉主要这样几个方面的原因:一是国人最技术和标准没有那么关注和重视;二是国内整体的Web环境的遗留问题和公司政策方面的问题;但是究其主要原因我感觉还是由于国内的Web前端从业人员缺少对行业和相关标准的准确认识和清晰定位,另外就是缺少对细节和技术的严格要求,当然,还有对自己的严格要求,浮躁。

当然,我也不能例外。写这些文章的目的,就在于能够使自己沉下来,细细总结、关注并重新学习认知Web标准和Web前端开发的方方面面,完善并改造自己的同时也能够给国内的同行一些自己的经验分享。

符合Web标准的Web前端开发之路,我们任重而且道远,但是,我们在路上,我们在不断地求索……

点击查看全文 »

本文涉及的标签分类:

前端开发需要遵循的Web标准

作者:SoberMa 分类:Web前端 发布日期:2009-08-20 15:56 已有:2 条评论 发表评论

前面的一些文章中,我们了解了什么是Web标准以及使用Web标准的种种好处,你是否已经动心了呢?是的,我动心了,我是一名Web的前端开发人员,或者我想成为一名Web前端开发人员为中国的Web事业做点自己的贡献,但是,前面你介绍的太笼统了,我想动手去学习了,快告诉我都要学些什么具体的知识和技术吧!

是的,这就是我即将要讲到的,Web前端开发过程之中需要遵循的具体的Web标准。而在这之前,我们首先需要了解的一种理念就是,在Web前端的开发制作之中,会分为结构、表现和行为三方面,而依据标准的规范要求,这三个方面应该是相互分离的。

下面我们将按照结构、表现和行为三个层面对Web前端开发过程中需要遵循的Web标准进行一个较为细致的分析和描述。

结构化文本标记语言HTML

结构化标记,这是每个Web文档的基础所在。结构化文本标记语言英文简称HTML或者XHTML,是由一些列包含属性的元素组成的标记语言。这些元素用于标记文档中各种不同类型的内容,并规定每部分的内容在Web浏览器中如何被渲染。

HTML的元素用来定义内容类型,而属性用来定义这些元素的附加信息,例如识别元素的ID,或一个链接指向的位置。必须牢记的一点是,标记应该尽可能地语义化,即应该尽可能精确地去描述内容的功能。下图是一个典型的HTML元素的结构剖析图。

HTML元素结构剖析图

HTML元素结构剖析图

HTML是HyperText Mark-up Language的英文缩写,中文翻译为超文本标记语言。那么XHTML又是哪路大仙呢?XHTML是The Extensible HyperText Markup Language的英文缩写,可以翻译为可扩展超文本标识语言。

HTML是一种基本的Web标记语言,XHTML是一个基于XML的Web标记语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML。本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。

我是该用HTML呢,还是XHTML?两者之间到底有什么差别呢?其实它们的功能是大体一样的,两者最大的差别是在结构上。下面我们用一个表格的形式对比一下两者之间的具体差别。

HTML XHTML
元素和属性是大小写不敏感的,<div id=”header”>等同于<DIV ID=”HEADER”>。 元素和属性是大小写敏感的,都以小写形式书写。
一些元素不需要结束标签(例如 <p>),而另一些元素禁止用结束标签(例如 <img>)。 所有元素都必须有结束标签(例如 <p>这是一个段落</p>)。空元素的格式是,在起始标签中包含一个斜杠(例如,<br>应该写为<br />)。

如果你将XHTML文件用作text/html, 则必须对所有被定义为“空”的元素使用简写语法,并在 />前加上一个空格。对任何未被定义为“空”的元素,即使其中无任何内容,也必须使用完整格式的标记(有单独的起始标签和结束标签)。

一些属性值可以不用加引号 属性值必须要在引号中
服务器须以 text/html 这种媒体类型将HTML发送到客户端。 XHTML使用 application/xhtml+xml 这种媒体类型,也可使用application/xml,text/xml 或 text/html。如果使用 text/html,则必须遵循 HTML 兼容性指导原则,因为这样浏览器将把其当作HTML处理。
一些属性可简写(如 <option selected>)。 所有属性都必须使用完整的属性格式(如 <option selected=”selected”>)。

结构化标记的HTML是Web标准之中的最为基础和核心的内容,它是用来描述Web文档的基本结构骨架的。HTML语法简单,但是用起来并把它用好却也不是一件容易的事情,你不但要深入了解每个结构标签的含义,更要去深入研究各个标签的结构语义和具体的应用语境和环境。同时,HTML是后续学习表现语言CSS和文档对象模型DOM和行为脚本语言JavaScript的基础,因而这一部分的内容需要深入、仔细得去进行学习和掌握。后续我们会按照语义分类的方式对HTML进行深入细致的讲解。

表现类语言CSS

CSS,Cascading Style Sheets的英文缩写,直译过来的汉语意思是层叠样式表,是用来描述Web文档的外观表现的。也就是在HTML搭建好的骨架上面去进行合理的布局和装修施工,以还原Web页面的设计原型。

一开始的时候,CSS主要用来定义一些字体的属性和外观,随着主流浏览器对CSS这一表现类语言的支持,现在CSS开始越来越多地应用到Web前端的设计还开发之中,用来描述Web文档的布局以及视觉外观。

使用CSS,你不但可以为HTML元素改变或添加颜色、背景、字体大小、样式,还可以在网页内不同的位置对元素进行定位。使用CSS来应用样式,主要有三种方式:一、 对元素的默认属性进行重新定义;二、针对一个ID应用一种样式;三、针对一个类(class)应用一种样式。下面我们用具体实例分别讲述一下这三种方式的实现方式和应用方法。

  • 1、对元素的默认属性进行重新定义。通过向某一个HTML标签元素设定样式规则,可以改变这个元素标签的默认浏览器渲染规则。例如,通常Web文档中的段落文本默认是现实为黑色的,通过为p标签设置合适的属性就可以改变这一默认属性。

    p {color:red;}

    这样,所有在<p>跟</p>之间包含的段落文本的颜色就会变成红色了。

  • 2、针对一个ID应用一种样式。定义一个ID,并将这个ID赋予某个HTML元素标签(在一个Web页面中,每一个ID只能使用一次),这样就可以更好地控制这个唯一ID的相关属性了。例如,上面的例子,你不想更改所有段落的文本颜色,而只想改变某一个段落的颜色,那么只需要在这个段落上添加一个唯一ID:

    <p id=”important”>这里是一个段落文本</p>

    然后对其添加如下的CSS规则:

    #important {color:red;}

    这样做,该CSS规则只会应用于Web页面中ID属性为important的段落(#是CSS中用于指明ID的符号)。

  • 3、针对一个类应用一种样式。类与ID类似,它与ID的区别在于每个Web页面中你可以有多个相同的类。接着上面为段落改变文字颜色的例子讲,如果希望网页中的前两个段落的文字显示红色,你可以分别向这两个段落添加类:

    <p class=”important”>这里是第一个段落文本</p>

    <p class=”important”>这里是第二个段落文本</p>

    然后,添加如下的CSS规则:

    .important {color:red;}

    这样,添加了名为important的类的前两个段落文本的颜色就变成红色了。需要指出的是,在这个例子中,important是一个类,而不是一个ID(.是CSS中用于指明“类”的符号)。

这上面的几个例子之中我们可以看到,为了用CSS可以更加高效地去控制页面的细节展现,良好的HTML结构是必不可少的。后期在我们讲到用CSS来控制布局的时候你会发现结构化、语义化的HTML也是必不可少的。当然,良好的HTML和CSS也是DOM和JavaScript的基础,因而,前期HTML和CSS这两个方面的内容我们必须有一个良好的、扎实的基础。

文档对象及行为脚本语言

文档对象模型DOM是Document Object Model的英文缩写,是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中导航寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而
DOM 被认为是基于树或基于对象的。

最后再来看行为脚本语言JavaScript,它是一种用于向网页中添加行为的脚本语言,可以用于检验你输入某一个表单里的数据的有效性,提供拖放功能,改变漂浮广告的样式,使页面元素如菜单等动起来,处理按钮功能等等。最新的JavaScript是这样工作的:找到一个目标HTML元素,然后对该元素进行一些处理。这和应用CSS差不多,不过两者的运行方式、语法等,则有相当大的差别。

JavaScript是比HTML和CSS更为复杂和庞大的主题,因此在这本书里,我们不去学习太复杂高深的主题,而是以把HTML和CSS的基础及高级应用学好为主。如有需要,我们可以后续再出一些关于文档对象模型DOM和行为脚本语言JavaScript的相应文章或者探析方面的书籍。

Web标准层面的主要构成要素HTML,
CSS和JavaScript其实并不神秘,它们都是Web演进的自然产物。如果你已具有一些HTML方面的知识,完全不用丢弃。你所具有的所有HTML知识,依然很有用,你所需要做的只是以一种与过去不同的方式来处理一些事情,并在写HTML标记时更加仔细和认真一些而已。

使用Web标准进行Web前端开发,除可以让你把Web前端开发工作做得更好以外,本身也是很有意义的。一些人不愿意使用Web标准进行Web前端开发,其理由是这样做很耗时,而且必须费很大力气进行跨浏览器显示的页面布局。但是,使用非基于Web标准的方法进行页面布局,对于Web页面的跨设备访问并在未来更高版本的浏览器中正常显示是几乎不可能的事情。

点击查看全文 »

本文涉及的标签分类: