<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8165280434484492454</id><updated>2012-02-12T20:50:34.617+08:00</updated><category term='Ajax效果--Effect'/><category term='Ajax新闻--news'/><category term='mootool'/><category term='web2.0'/><category term='cms'/><category term='flickr'/><category term='Blog杂趣-Blog stuff'/><category term='网页设计--webdesign'/><category term='Ajax工具--Tools'/><category term='Prototype'/><category term='Ajax应用--Applications'/><category term='Ajax框架--Frameworks'/><category term='Ajax教程--tutorials'/><category term='杂趣--fun stuff'/><category term='google'/><title type='text'>all-ajax</title><subtitle type='html'>Ajax = Fun</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-7359991259496042438</id><published>2007-06-13T13:32:00.000+08:00</published><updated>2007-06-13T13:42:42.900+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='杂趣--fun stuff'/><title type='text'>搬家了--the blog had moved</title><content type='html'>优秀的东西都会受到GFW的青睐,不得不放弃blogspot.&lt;br /&gt;&lt;br /&gt;  新的blog--&lt;a href="http://ajax.yo2.cn/"&gt;http://ajax.yo2.cn&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/blogbus/bDUh"&gt; feed&lt;/a&gt;地址不变&lt;br /&gt;&lt;br /&gt;  New blog  -- &lt;a href="http://ajax.yo2.cn/"&gt;http://ajax.yo2.cn&lt;/a&gt; .  This blog had been G~F~Wed in China as well as Flickr .&lt;a href="http://blog.donews.com/keso/archive/2007/06/08/1173239.aspx"&gt; Let's&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.donews.com/keso/archive/2007/06/08/1173239.aspx"&gt;f*** the G~F~W .&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-7359991259496042438?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/7359991259496042438/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=7359991259496042438&amp;isPopup=true' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7359991259496042438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7359991259496042438'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/06/blog-had-moved.html' title='搬家了--the blog had moved'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-162780241572882983</id><published>2007-06-08T23:58:00.000+08:00</published><updated>2007-06-09T00:17:35.865+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='杂趣--fun stuff'/><title type='text'>8*8大礼包</title><content type='html'>8*8的日子,&lt;a href="http://www.zhuaxia.com"&gt;抓虾&lt;/a&gt; 瞎了,&lt;a href="http://www.flickr.com"&gt;flickr&lt;/a&gt; 挂了,&lt;a href="http://www.blogspot.com"&gt;blogspot&lt;/a&gt; 和谐了.....具体惨案的发生看&lt;a href="http://www.gseeker.com/50226711/flickraeae_99213.php"&gt;gseeker&lt;/a&gt; 看来该是时候放弃blogspot了.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-162780241572882983?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/162780241572882983/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=162780241572882983&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/162780241572882983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/162780241572882983'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/06/88.html' title='8*8大礼包'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-1794338307436947299</id><published>2007-06-06T01:16:00.000+08:00</published><updated>2007-06-06T01:30:52.951+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='mootool'/><title type='text'>超高像素图像浏览程序--ultra-high resolution image viewer</title><content type='html'>试想一下在浏览器浏览一个分辨率达18000x18000的图片,是很痛苦的一件事,不仅下载缓慢而且及其不方便,所以一般网站都会把高清晰的图片进行压缩,这样一来质量很难有保证.&lt;br /&gt;   Ruven 发布了一个超高像素图像浏览开源程序叫&lt;a href="http://iipimage.sourceforge.net/"&gt;IIPImage&lt;/a&gt;.使用了&lt;span id="sub_center_0"&gt;Mootools代码库,利用ajax进行数据交换,所以用户可以拖动和放大缩小(鼠标滚轮)来进行即时浏览图片.&lt;br /&gt;     &lt;a href="http://iipimage.sourceforge.net/demo.shtml"&gt;在这里看实际效果&lt;/a&gt; 其中有一个分辨率达&lt;/span&gt;86400 x 43200像素.&lt;a href="http://iipimage.sourceforge.net/download.shtml"&gt;开源在这里下载.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kenzone/531850472/" title="Photo Sharing"&gt;&lt;img src="http://farm2.static.flickr.com/1028/531850472_9b446b69ce_o.jpg" alt="kenzone1" height="219" width="679" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-1794338307436947299?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/1794338307436947299/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=1794338307436947299&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1794338307436947299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1794338307436947299'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/06/ultra-high-resolution-image-viewer.html' title='超高像素图像浏览程序--ultra-high resolution image viewer'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-2739781830439912146</id><published>2007-06-06T00:54:00.000+08:00</published><updated>2007-06-06T01:00:59.607+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax教程--tutorials'/><title type='text'>AJAX 技术介绍--overview of ajax</title><content type='html'>对于ajax新手的一篇很好的科普文章,大家来科普一下.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;我们知道，Internet经历了翻天覆地的重大变革。最早只有基于文本的简单浏览器，仅供科学家之间交流研究心得。如今，Internet已不可 同日而语，它已经成为贸易和信息的中心。从最初诞生之日起，我们看到过许多新方法和新技术陆续登场，从开始的图形化浏览器到自由播（podcast，也称 播客、随身播）等等。到了今天，Internet已经成为大量应用的首选平台（还记得你最后一次和旅行社直接打交道是什么时候吗？是不是早已经开始通过 Internet完成这些事务了？）。不过，尽管Internet提供了很大的便利，但很少有人会把Web应用与桌面应用混淆不清。这一章将对Web应用 的发展历程做一个简要的概述。回顾完过去之后，我们再来看看将来：Ajax。&lt;/p&gt;   &lt;p&gt;1.1　Web应用的发展简史&lt;/p&gt;   &lt;p&gt;刚 开始时一切都那么简单。在美国，最初为了连接很少的几个顶尖研究机构，设计了最早的“Internet”，以便共同开展科学研究。不论是图书馆员、原子能 物理学家，还是计算机科学家，都必须学习一个相当复杂的系统，1962年，麻省理工大学（MIT）的J.C.R. Licklider最早提出他的“Galactic Network”（超大网络）思想时，甚至还没有Firefox和Internet Explorer之类的概念。&lt;br /&gt;Licklider后来继续在国防部高级研究计划局（Defense Advanced Research Projects Agency，DARPA）从事计算机研究，在那里他积极地宣扬网络化思想的重要性。与此同时，MIT的Leonard Kleinrock和Lawrence G. Roberts正在开展分组交换理论的研究，这是网络计算机的一个核心概念。在Thomas Merrill的帮助之下，Roberts于1965年进一步创建了第一个广域网，他通过一个拨号连接使麻萨诸塞州的一台TX-2连上了加利福尼亚州的一 台Q-32。&lt;br /&gt;1966年底，Roberts把他的实验结果提交给DARPA，在这里他设计了高级研究项目管理网络（Advanced Research Projects Administration Network，ARPANET）的计划。此时，Kleinrock正在加州大学的洛杉矶网络测量中心（Los Angeles Network Measurement Center），这里被选作ARPANET的第一个节点，正是在这里，1969年Bolt Beranek和Newman（BBN）成功地安装了第一个分组交换器，称为接口消息处理器（Interface Message Processors，IMP）。斯坦福研究中心选为第二个节点，1969年10月，实现了第一个主机到主机的消息交换。此后不久，又将加州大学的圣巴巴 拉分部和犹他州大学增加为节点，这就是我们现在所称Internet的前身。&lt;br /&gt;这个时期微机刚开始出现：数字设备公司（Digital Equipment Corporation）创建了PDP-1，其后PDP-8、PDP-11和VAX-11/780取得了巨大成功。计算机能力得到了极大提高，而且价格也 越来越为人所接受，不像最初只有极少的几台大型机时那样贵得惊人。计算机已经走入平民大众；不过，可以看到，个人计算机还在进一步发展。&lt;br /&gt;最初，研究人员认为传输控制协议（Transmission Control Protocol，TCP）只适用于大型系统，因为TCP就是为大型系统设计的。不过，麻省理工大学David Clark的研究小组发现，工作站之间可以大范围互联。Clark的研究，再加上20世纪80年代和90年代个人计算机领域的爆炸式发展，迅速推动了当今 世界的前进。&lt;br /&gt;20世纪80年代出现了几个大变化。随着主机数量从为数不多的几个发展到成千上万，需要为主机指定不同的名字，这样人们就不用费劲地去记它们的数字地址。 这个变化，以及主机数量的飞速增长，催生了域名系统（Domain Name System ，DNS）的问世。另外，ARPANET从使用网络控制协议（Network Control Protocol，NCP）转换为使用传输控制协议/ Internet协议（Transmission Control Protocol/Internet Protocol，TCP/IP），这是军方使用的标准协议。到了20世纪80年代中期，Internet已经建成为一个连接不同研究人员的平台，而且其 他网络也开始出现： 美国国家航空和宇宙航行局（National Aeronautics and Space Administration）创建了SPAN。美国能源部（U.S. Department of Energy）建立了MFENet来研究磁力熔合能源，另外在国家科学基金（National Science Foundation）的资助下，还创建了CSNET来开展计算机科学研究。&lt;br /&gt;1989年，欧洲粒子物理研究所（European Council for Nuclear Research，CERN）的Tim Berners-Lee提出了一个很有意思的概念。他认为，与其简单地引用其他人的工作，为什么不干脆链接呢？读一篇文章时，科学家可以打开所引用的文 章。超文本（hypertext）当时相当流行，并利用了他先前在文档和文本处理方面的研究成果。Berners-Lee发明了标准通用标记语言 （Standard Generalized Markup Language，SGML）的一个子集，称为超文本标记语言（HyperText Markup Language，HTML）。HTML的妙处在于，它能把应该如何展现文本与具体如何实现显示相分离。Berners-Lee不仅创建一个称为超文本传 输协议（HyperText Transfer Protocol，HTTP）的简单协议，还发明了第一个Web浏览器，叫做WorldWideWeb。&lt;/p&gt;   &lt;p&gt;1.2　浏览器历史&lt;/p&gt;   &lt;p&gt;提 到Web浏览器，大多数人都会想到无处不在的Microsoft Internet Explorer，直到最近像Firefox、Safari和Opera之类的浏览器日益兴起，这种情况才稍有改观。尽管许多新手可能认为 Internet Explorer是市场上的第一个浏览器，但事实并非如此。实际上，第一个Web浏览器出自Berners-Lee之手，这是他为NeXT计算机创建的 （这个Web浏览器原来取名叫WorldWideWeb，后来改名为Nexus），并在1990年发布给CERN的人员。Berners-Lee和 Jean-Francois Groff将WorldWideWeb移植到C，并把这个浏览器改名为libwww。20世纪90年代初出现了许多浏览器，包括Nicola Pellow编写的一个行模式浏览器（这个浏览器允许任何系统的用户都能访问Internet，从Unix到Microsoft DOS都涵盖在内），还有Samba，这是第一个面向Macintosh的浏览器。&lt;br /&gt;1993年2月，Illinois–Urbana-Champaign大学超计算应用国家中心的Marc Andreessen和Eric Bina为Unix发布了Mosaic。几个月之后，Aleks Totic为Macintosh发布了Mosaic的一个版本，这使得Mosaic成为第一个跨平台浏览器，它很快得到普及，并成为最流行的Web浏览 器。这个技术卖给了Spyglass，后来又归入Microsoft的门下，并用在Internet Explorer中。&lt;br /&gt;1993年，塂萨斯大学的开发人员编写了一个基于文本的浏览器，叫做Lynx，它成为了字符终端的标准。1994年，挪威奥斯陆的一个小组开发了 Opera，1996年这个浏览器得到了广泛使用。1994年12月，Netscape发布了Mozilla的1.0 版，第一个盈利性质的浏览器诞生。2002年又发布了一个开源的版本，这发展为后来流行的Firefox浏览器，于2004年11月发布。&lt;br /&gt;Microsoft发布Windows 95时，把Internet Explorer 1.0作为Microsoft Plus!包的一部分同时发布。尽管这个浏览器与操作系统集成在一起，但大多数人还是坚持使用Netscape、Lynx或Opera。IE 2.0有了很大起色，增加了对cookie、安全套接字层（Secure Socket Layer，SSL）和其他新兴标准的支持。这个第二版还可以用于Macintosh，使之成为Microsoft的第一个跨平台浏览器。不过，大多数用 户还是很执着，仍然使用他们用惯了的浏览器。&lt;br /&gt;不过到了1996年夏天，Microsoft发布了3.0版本。几乎一夜之间，人们纷纷拥向Internet Explorer。当然，Netscape的浏览器还是要收费，Microsoft仍然免费提供Internet Explorer。关于浏览器领域谁主沉浮，Internet群体发生了两极分化，很多人担心Microsoft会像在桌面领域一样，在Web领域也一统 天下。有些人则考虑到安全问题，而且不出所料，发布3.0版9天之后，就报告了第一个安全问题。到1999年发布Internet Explorer 5时，它已经成为使用最广的浏览器。&lt;/p&gt;   &lt;p&gt;1.3　Web应用的发展历程&lt;/p&gt;   &lt;p&gt;最 初，所有Web页面都是静态的；用户请求一个资源，服务再返回这个资源。什么都不动，什么都不闪。坦率地讲，对于许多Web网站来说，这样也是可以的，这 些网站的Web页面只是电子形式的文本，在一处生成，内容固定，再发布到多处。在浏览器发展的最初阶段，Web页面的这种静态性不成问题；科学家只是使用 Internet来交换研究论文，大学院校也只是通过Internet在线发布课程信息。企业界还没有发现这个新“渠道”会提供什么商机。实际上，刚开始 时，公司主页显示的信息通常很少，无非是一些联系信息，或者只是一些文档。不过，没过多久，Web用户就开始有新的要求，希望能得到更动态的网上体验。个 人计算机成为企业的强劲后盾，从个人宿舍到住家办公室开始出现越来越多的计算机。随着Windows 95的问世，人们已经领教了Corel Word-Perfect和Microsoft Excel丰富的功能，所以用户的期望也越来越高。&lt;/p&gt;   &lt;p&gt;1.3.1　CGI&lt;/p&gt;   &lt;p&gt;要 让Web更为动态，第一个办法是通用网关接口（Common Gateway Interface，CGI）。与静态的Web获取不同，可以使用CGI创建程序，用户发出请求时就会执行这个程序。假设你想在Web网站上显示销售的商 品，可以利用一个CGI脚本来访问商品数据库，并显示结果。通过使用简单的HTML表单和CGI脚本，可以创建简单的前台应用，这样别人就可以通过浏览器 来购买你的商品。可以用多种语言编写CGI脚本，从Perl到Visual Basic都可以，这使得掌握不同语言的人都能编写CGI脚本。&lt;br /&gt;不过，要创建动态的Web页面，CGI并不是最安全的方法。如果采用CGI，任何人都可以在你的系统上执行程序。大多数情况下这可能没有问题，但是倘若一 个用户有恶意企图，很可能利用这一点，让你的系统运行你本来不想运行的程序。尽管存在这个缺陷，但如今CGI仍在使用。&lt;/p&gt;   &lt;p&gt;1.3.2　Applet&lt;/p&gt;   &lt;p&gt;很 显然，CGI可以有所改进。1995年5月，Sun的John Gage和Andreessen（目前在Netscape通信公司）宣布一种新的编程语言诞生，这就是Java。Netscape Navigator为这种新语言提供了支持，最初是为了支持机顶盒（你可能认为，为了抢占在居室电子化方面的发展先机，最早涉足的公司是 Microsoft和Sony）。就像所有革命一样，Java和Internet的出现恰到好处，在适当的时间、适当的地点横空出世，Java在Web上 发布仅几个月，就已经有数以千计的人下载Java。由于Netscape的 Navigator支持Java，动态Web页面掀开了新的一页：applet时代到来了。&lt;br /&gt;Applet允许开发人员编写小应用，这些小应用可以嵌入在Web页面上。只要用户使用支持Java的浏览器，就可以在浏览器的Java虚拟机（Java Virtual Machine，JVM）中运行applet。尽管applet可以做很多事情，但它们也存在一些限制：通常不允许读写文件系统，不能加载本地库，而且可 能无法启动客户端上的程序。除了这些限制外，applet还会在一个沙箱安全模型中运行，这有助于防止用户运行恶意代码。&lt;br /&gt;对许多人来说，最初接触Java编程语言就是从applet开始的，当时这是创建动态Web应用的一种绝好的办法。Applet允许你在浏览器中创建一个 “胖”客户应用，不过要在平台的安全限制范围内。当时，在很多领域都广泛使用了applet；但是，Web群体并没有完全被applet“征服”。胖客户 的开发人员都很熟悉一个问题：必须在客户端上部署适当的Java版本。因为applet在浏览器的虚拟机中运行，所以开发人员必须确保客户端安装了适当版 本的Java。尽管这个问题并非无法解决，但确实妨碍了applet技术的进一步推广。而且如果applet写得不好，很可能对客户主机造成影响，这使许 多客户对于是否采用基于applet的解决方案犹豫不定。&lt;/p&gt;   &lt;p&gt;1.3.3　JavaScript&lt;/p&gt;   &lt;p&gt;与 此同时，Netscape创建了一种脚本语言，并最终称之为JavaScript。（建立原型时本来叫做Mocha，正式发布之前曾经改名为 LiveWire和LiveScript，不过最后终于确定为JavaScript）。设计JavaScript是为了让不太熟悉Java的网页设计人员 和程序员能够更轻松地开发applet。（当然，Microsoft也推出了与JavaScript相对应的脚本语言，称为VBScript）。 Netscape请Brendan Eich来设计和实现这种新语言，他认为需要的是一种动态类型脚本语言。由于缺乏开发工具，缺少有用的错误消息和调试工具，JavaScript很受非 议，尽管如此，JavaScript仍然是一种创建动态Web应用的强大方法。&lt;br /&gt;最初，创建JavaScript是为了帮助开发人员动态地修改页面上的标记，以便为客户提供更丰富的体验。人们越来越认识到，页面也可以当作对象，因此文 档对象模型（Document Object Model，DOM）应运而生。刚开始，JavaScript和DOM紧密地交织在一起，但最后它们还是“分道扬镳”，并各自发展。DOM是页面的一个面 向对象表示，可以用某种脚本语言（如JavaScript或VBScript）进行修改。&lt;br /&gt;最后，万维网协会（World Wide Web Consortium，W3C）介入，并完成了DOM的标准化，而欧洲计算机制造商协会（European Computer Manufacturers Association，ECMA）批准JavaScript作为ECMAScript规范。根据这些标准编写的页面和脚本在遵循相应原则的任何浏览器上 都应该有相同的外观和表现。&lt;br /&gt;在最初的几年中，JavaScript的发展很是坎坷，这是许多因素造成的。首先，浏览器支持很不一致（即使是今天，同样的脚本在不同浏览器上也可能有不 同的表现），而且客户可以自由地把JavaScript关闭（由于存在一些已知的安全漏洞，因此往往鼓励用户把JavaScript关掉）。由于开发 JavaScript很有难度（你会用alert吗？），这使得许多开发人员退避三舍，很少使用这种语言，有些开发人员干脆不考虑 JavaScript，认为这是图形设计人员使用的一种“玩具”语言。许多人曾试图使用、测试和调试复杂的JavaScript，并为此身心俱疲，所以大 多数人在经历了这种痛苦之后，最终还是满足于创建简单的基于表单的应用。&lt;/p&gt;   &lt;p&gt;1.3.4　Servlet、ASP和PHP . . .哦，1.3.5　太多了！&lt;/p&gt;   &lt;p&gt;尽 管applet是基于Web的，但胖客户应用存在的许多问题在applet身上也有所体现。在大量使用拨号连接的年代（就算是今天，拨号连接也很普遍）， 要下载一个复杂applet的完整代码基，可能要花很多时间，这往往不是用户所能承受的。开发人员还要考虑客户端上的Java版本，有些虚拟机还有更多的 要求。理想情况下只需提供静态的Web页面，毕竟，这正是设计Internet的本来目的。当然，尽管静态页面是静态的，但是如果能在服务器上动态地生成 内容，再把静态的内容返回，这就太好了。&lt;br /&gt;在Java问世一年左右，Sun引入了servlet。你的Java代码不用像applet那样在客户浏览器中运行；它会在你控制的一个应用服务器上运 行。这样，开发人员就能充分利用现有的业务应用，而且，如果需要升级为最新的Java版本，只需要考虑服务器就行了。Java推祟“一次编写，到处运 行”，这一点使得开发人员可以选择最先进的应用服务器和服务器环境，这也是这种新技术的另一个优点。Servlet还可以取代CGI脚本。&lt;br /&gt;Servlet是向前迈出的很大一步。Servlet提供了对整个Java应用编程接口（API）的完全访问，而且提供了一个完备的库可以处理HTTP。 不过，Servlet不是十全十美的。使用Servlet来设计界面可能很困难。在一个典型的Servlet交互中，先要从用户得到一些信息，完成某种业 务逻辑，然后使用一些“打印行”创建HTML，为用户显示结果。servlet 不仅容易出错，很难生成可视化显示，而且还无法做到人尽其才。一般地，编写服务器端代码的人往往是软件开发人员，他们只是对算法和编译器很精通，但不是能 设计公司精美网站的图形设计人员。业务开发人员不仅要编写业务逻辑，还必须考虑怎么创建一致的设计。因此，很有必要将表示与业务逻辑分离。我们需要的就是 JavaServer Pages（JSP）。&lt;br /&gt;在某种程度上，JSP是对 Microsoft的 Active Server Pages (ASP）做出的一个回应。Microsoft从Sun在Servlet规范上所犯的错误汲取了教训，并创建了ASP来简化动态页面的开发。 Microsoft增加了很棒的工具支持，并与其Web服务器紧密集成。JSP和ASP都设计为用于将业务处理与表示布局相分离，从这个意义上讲，二者是 相似的。虽然存在一些技术上的差别（Sun也从Microsoft那里学到了教训），但它们有一个最大的共同点，都允许Web设计人员能够把重点放在布局 上，而软件开发人员可以集中开发业务逻辑。&lt;br /&gt;&lt;br /&gt;当 然，Microsoft和Sun并没有垄断服务器端解决方案。还有许多其他的方案，从PHP到ColdFusion等等在这个领域都有一席之地。有些开发 人员喜欢新奇的工具；还有一些则倾向于更简单的语言。在目前来看，所有这些解决方案完成的任务都是一样的，它们都是要动态生成HTML。在服务器端生成内 容可以解决发布问题；不过，与使用胖客户或applet所做的工作相比，用户从原始HTML得到的体验就太过单调和苍白了。下面几节将介绍几种力图提供更 丰富用户体验的解决方案。&lt;/p&gt;   &lt;p&gt;1.3.6　Flash&lt;/p&gt;   &lt;p&gt;并不是只有Microsoft和Sun在努力寻找办法来解 决动态Web页面问题。1996年夏天，FutureWave发布了一个名叫 FutureSplash Animator的产品。这个产品起源于一个基于Java的动画播放器，FutureWave很快被Macromedia兼并，Macromedia则将 这个产品改名为Flash。&lt;br /&gt;利用Flash，设计人员可以创建令人惊叹的动态应用。公司可以在Web上发布高度交互性的应用，几乎与胖客户应用相差无几。不同于applet、 servlet和CGI脚本，Flash不需要编程技巧，很容易上手。在20世纪90年代末期，掌握Flash是一个很重要的特长，因为许多老板都非常需 要有这种技能的员工。不过，这种易用性也是有代价的。&lt;/p&gt;   &lt;p&gt;像 许多解决方案一样，Flash需要客户端软件。尽管许多流行的操作系统和浏览器上都内置有所需的Shockwave播放器插件，但并非普遍都有。虽然能免 费下载，但由于担心同时携带病毒，使得许多用户都拒绝安装这个软件。Flash应用可能还需要大量网络带宽才能正常地工作，另外，由于没有广泛的宽带连 接，这也限制了Flash的推广（因此产生了“skip intro”链接）。尽管有些网站选择建立多个版本的Web应用，分别适应于不同的连接速度，但是许多公司都无法承受支持两个或更多网站所增加的开发开 销。&lt;br /&gt;总之，创建Flash应用需要专用的软件和浏览器插件。applet可以用文本编辑器编写，而且有一个免费的Java开发包（Java Development Kit，JDK），Flash则不同，使用完整的Flash工具包需要按点会费，每个点需要数百美元。尽管这些因素不是难以逾越的障碍，但它们确实减慢了 Flash在动态Web应用道路上的前进脚步。&lt;/p&gt;   &lt;p&gt;1.3.7　DHTML革命&lt;/p&gt;   &lt;p&gt;Microsoft 和Netscape发布其各自浏览器的第4版时，Web开发人员有了一个新的选择：动态HTML（dynamic HTML，DHTML）。有些人可能认为 DHTML不是一个W3C标准；它更像是一种销售手段。实际上，DHTML结合了HTML、层联样式表（Cascading Style Sheets，CSS）、JavaScript和DOM。这些技术的结合使得开发人员可以动态地修改Web页面的内容和结构。&lt;br /&gt;最初对DHTML的反响很好。不过，它需要的浏览器版本还没有得到广泛采用。尽管Internet Explorer和Netscape都支持DHTML，但是它们的实现大相径庭，这说明开发人员必须知道他们的客户使用什么浏览器。而这通常意味着，需要 大量代码来检查浏览器的类型和版本，这就进一步增加了开发的开销。有些人对于尝试这种方法很是迟疑，因为DHTML还没有一个官方的标准。不过，将来新标 准有可能会出现。&lt;/p&gt;   &lt;p&gt;1.3.8　XML衍生语言&lt;/p&gt;   &lt;p&gt;20 世纪90年代中期，基于SGML，衍生出了W3C的可扩展标记语言（eXtensible Markup Language，XML），自此以后，XML变得极为流行。许多人把XML视作为解决所有计算机开发问题的灵丹妙药，以至于XML几乎无处不在。实际 上，Microsoft就已经宣布，Office 12将支持XML文件格式。&lt;br /&gt;    如今，我们至少有4种XML衍生语言可以创建Web应用（W3C的XHTML不包括在内）：Mozilla的XUL ；XAMJ，这是结合Java的一种开源语言；Macromedia的MXML；以及Microsoft的XAML。&lt;br /&gt;XUL： XUL（拼作“zool”）代表XML用户接口语言（XML User Interface Language），由Mozilla Foundation推出。流行的Firefox浏览器和Thunderbird邮件客户都是用XUL编写的。利用XUL，开发人员能构建功能很丰富的应 用，可以与Internet连接，也可以没有连接。为了让熟悉DHTML的开发人员尽快地学会，XUL设计为可以为诸如窗口和按钮等标准界面部件提供跨平 台支持。虽然它本身不是一个标准，但XUL所基于的都是标准，如HTML 4.0、CSS、 DOM, XML和 ECMAScript等等。XUL应用可以在浏览器上运行，也可以安装在一个客户主机上。&lt;br /&gt;当然，XUL也不是没有缺点。XUL需要Gecko引擎，而且目前Internet Explorer还没有相应的插件。尽管Firefox在浏览器市场中已经有了一定的份额，但少了 Internet Explorer的支持还是影响很大，这使得大多数应用都无法使用XUL。目前开展的很多项目都是力图在多个平台上使用XUL，包括Eclipse。&lt;br /&gt;XAML：XAML （拼作“zammel”）是Microsoft将推出的操作系统代码（名为Vista）的一个组件。XAML是可扩展应用标记语言（eXtensible Application Markup Language）的缩写，它为使用Vista创建用户界面定义了一个标准。与HTML类似，XAML使用标记来创建标准元素，如按钮和文本框等。 XAML建立在Microsoft的 .NET平台之上，而且可以编译为.NET类。&lt;br /&gt;应当很清楚XAML的局限所在。作为一个Microsoft产品，这就要求必须使用Microsoft的操作系统。在许多情况下（特别是公司中），这可能 不成问题，但是有些公司使用的不是Microsoft的操作系统，总不能削足适履吧，就像是没有哪家砖瓦水泥公司会因为买家没有开某种车来就把他拒之门 外。Vista交付的日期一再推迟，与此同时XAML也有了很大变化，不再只是一个播放器。据说，在未来几年内，我们可能会看到一个全新的XAML。&lt;br /&gt;MXML：Macromedia创建了MXML，作为与其Flex技术一同使用的一种标记语言；MXML设计为与HTML很相似，可以以一种声明的方式来 设计界面。与XUL和XAML类似，MXML提供了更丰富的界面组件，如DataGrid和TabNavigator，利用这些组件可以创建功能丰富的 Internet应用。不过，MXML不能独立使用；它依赖于Flex和ActionScript编程语言来编写业务逻辑。&lt;br /&gt;MXML与Flash有同样的一些限制。它是专用的，而且依赖于价格昂贵的开发和部署环境。尽管将来.NET可能会对MXML提供支持，但现在Flex只 能在Java 2企业版（Java 2 Enterprise Edition，J2EE）应用服务器上运行，如Tomcat和IBM的WebSphere，这就进一步限制了MXML的广泛采用。&lt;br /&gt;XAMJ：让人欣喜的是，开源群体又向有关界面设计的XML衍生语言世界增加了新的成员。XAMJ作为另一种跨平台的语言，为Web应用开发人员又提供了 一个工具。这种衍生语言基于Java，Java是当前最流行的面向对象语言之一，XAMJ也因此获得了面向对象语言的强大功能。XAMJ实际上想要替代基 于XAML 或HTML的应用，力图寻找一种更为安全的方法，既不依赖于某种特定的框架，也不需要高速的Internet连接。XAMJ是一种编译型语言，建立在 “clientlet”体系结构之上，尽管基于XAMJ的程序也可以是独立的应用，但一般来讲都是基于Web的应用。在写这本书时，XAMJ还太新，所以 还没有太多批评；不过，批评肯定会有的，让我们拭目以待。&lt;br /&gt;谈到“以X开头的东西”时，别忘了W3C XForms规范。XForms设计为支持一种更丰富的用户界面，而且能够将数据与表示解耦合。无庸置疑，XForms数据是XML，这样你就能使用现有 的XML技术，如XPath和XML Schema。标准HTML能做的，XForms都能做，而且XForms还有更多功能，包括动态检查域值，与Web服务集成等等。不同于其他的许多 W3C规范，XForms不需要新的浏览器，你可以使用现在已有的许多浏览器实现。与大多数XML衍生语言一样，XForms是一种全新的方法，所以对于 这种方法何时得到采纳，最好要耐心一些。&lt;/p&gt;   &lt;p&gt;1.3.9　基本问题&lt;/p&gt;   &lt;p&gt;有 了以上了解，你怎么想？即使是要求最苛刻的客户应用，也已经把Web作为首选平台。很显然，基于Web的应用很容易部署，而对用户的这种低门槛正是 Web应用最耀眼的地方。由于浏览器无处不在，而且无需下载和安装新的软件，用户利用基于浏览器的客户端就能很轻松地尝试新的应用。用户只需点击一个链 接，就能运行你的应用，而不用先下载几MB的安装程序才能尝试。基于浏览器的应用也不考虑操作系统是什么，这说明不仅使用不同操作系统（如Linux和 OS X）的人能运行你的应用，对你来说，也不必考虑针对不同的操作系统开发和维护多个安装包。&lt;br /&gt;既然基于Web的应用是有史以来最好的东西，那我们为什么还要写这本书？如果回头看看Internet的起源，可以看到，最初Internet实际上就是 让科学家们和学术机构交换文章和研究成果，这是一种简单的请求/响应模式。那时不需要会话状态，也不需要购物车；人们只是在交换文档。尽管你有很多办法来 创建动态的Web应用，但如果想让应用在用户中真正深入人心，想要得到大量的用户，就必须在浏览器上大做文章，这说明，Internet以请求/响应模式 做为基础，由此带来的同步性也造成了妨碍。&lt;br /&gt;与Microsoft Word或Intuit Quicken之类的胖客户应用相比，Web模型当然只具有“平均性”，只能对所有用户做折衷考虑。不过，由于Web应用很容易部署，而且浏览器的发展相 当迅速，这意味着大多数用户都已经学会了适应。但是，还是有许多人认为Web应用只是算“二等公民”，给人的用户体验不是太好。因为Internet是一 个同步的请求/响应系统，所以浏览器中会整个页面进行刷新。最初，这种简单的请求并没有什么问题，如果用户做了一两处修改，就必须向服务器发回整个文档， 而且要重新绘制整个页面。尽管这样是可以的，但是由于存在这种完全刷新限制，意味着应用确实很粗糙。&lt;br /&gt;这并不是说开发人员只是袖手旁观，全然接受这种状况。Microsoft对于交互式应用有一定了解，而且对于这种标准请求/响应模式的限制一直都不满意， 因此提出了远程脚本（remote scripting）的概念。远程脚本看似神奇，其实很简单：它允许开发人员创建页面，从而以一种异步的方式与服务器交互。例如，客户可以从一个下拉列表 中选择状态，这样就会在服务器上运行一个脚本，并确定客户的发货花销。更重要的是，显示这些花销时无需刷新整个页面！当然，Microsoft的方案只适 用于它自己的技术，而且需要Java，但有了这个进步，说明更丰富的浏览器应用并不是海市蜃楼。&lt;br /&gt;对于同步页面刷新问题还有其他一些解决方案。针对Microsoft的远程脚本，Brent Ashley在创建JavaScript远程脚本（JavaScript Remote Scripting，JSRS）时开发了一个平台中立（独立于平台）的方案。JSRS依赖于一个客户端JavaScript库和DHTML，可以向服务器 做异步的调用。与此同时，许多人利用了IFRAME标记，可以只加载页面中的某些部分，或者向服务器做“隐藏”的调用。尽管这是一个可行的方法，而且也为 很多人所用，但它肯定不是最理想的，还有待改善。&lt;/p&gt;   &lt;p&gt;1.3.10　Ajax&lt;/p&gt;   &lt;p&gt;终于谈到这里了：客户希望得到一个功能更完备的应用，而开发人员想避开繁琐的部署工作，不想把可执行文件逐个地部署到数以千计的工作站上。我们已经做过很多尝试，但是任何一种方法都不像它原来标榜得那么完美。不过，最近又提出一个极其强大的工具。&lt;br /&gt;如今我们又有了一个新的选择，新的工具，可以创建确实很丰富的基于浏览器的应用。我们有了Ajax。Ajax不只是一个特定的技术，更应算是一种技巧，不 过其前身JavaScript主要是一种组件。我们知道，你可能会说“JavaScript根本不值一提”，但是由于Ajax的出现，人们对这种语言又有 了新的兴趣，应用和测试框架再加上更优秀的工具支持，这些都减轻了开发人员肩头的重担。随着Atlas的引入，Microsoft对Ajax投入了大力支 持，而名声不太好的Rails Web框架也预置了充分的Ajax支持。在Java世界中，Sun已经在其BluePrints Solutions Catalog中增加了许多Ajax组件。&lt;br /&gt;坦率地讲，Ajax并不是什么新鲜玩艺。实际上，与这个词相关的“最新”术语就是XMLHttpRequest对象（XHR），即使是这个术语也早在 Internet Explorer 5（于1999年春天发布）中就已经出现了，那时是作为 Active X控件露面的。不过，真正新的内容是浏览器的支持。原先，XHR对象只在Internet Explorer中得到支持（因此限制了它的使用），但是从Mozilla 1.0和Safari 1.2开始，对XHR对象的支持开始普及。这个很少使用的对象和相关的基本概念甚至已经出现在W3C标准中：DOM Level 3 加载和保存规范（DOM Level 3 Load and Save Specification）。现在，特别是随着Google Maps、Google Suggest、Gmail、Flickr、Netflix和A9等应用变得越来越炙手可热，XHR也已经成为事实上的标准。&lt;br /&gt;与前面几页提到的方法不同，Ajax在大多数现代浏览器中都能工作，而且不需要任何专门的软件或硬件。实际上，这种方法的一大优势就是，开发人员不需要学 习一种新的语言，也不必完全丢掉他们原先掌握的服务器端技术。Ajax是一种客户端方法，可以与J2EE、.NET、PHP、Ruby和CGI脚本交互， 它并不关心服务器是什么。尽管存在一些很小的安全限制，但即使不清楚这些安全限制，你也可以现在就开始使用Ajax，而且能充分利用你原有的知识。&lt;br /&gt;你可能会问“谁在使用Ajax？”。前面已经提到，Google显然就是最早采用Ajax的先驱之一，而且已经有很多这方面技术的例子，包括Google Maps、Google Suggest和Gmail，这还只是其中的几个应用而已。Yahoo!也开始引入Ajax控件，另外Amazon提供了一个简洁的搜索工具，其中大量使 用了这个技术，例如，在钻石的某一方面上移动滑块，这会带来动态更新的结果。并不是每次改变你的评价标准时都会更新页面，你在移动滑块时就会查询服务器， 这样就能更快、更容易地明确你的选择。&lt;br /&gt;Netflix,是一家很热门的DVD租借公司，它也使用了Ajax，用户浏览影片时，可以提供更详细的信息。如果客户把鼠标放在一个影片的图片上时，这 个影片的ID就会发送到中心服务器，然后会出现一个“气泡”，提供这个影片的更多细节。同样的，页面并不会刷新，每个影片的详细信息并不是放在隐藏的表单 域中。利用这种方法，Netflix可以提供影片的更多信息，而不会把页面弄乱。客户浏览起来也更容易，他们不必点击影片，看完影片详细信息后再点击回到 影片列表页面；客户只需把鼠标停在影片上，就这么简单！我们想要强调的是，Ajax并不限于“.com”之类的网站才能使用；公司的开发人员也开始涉足这 个技术，有一些开发人员已经在使用Ajax来改善原来很丑陋的验证方案，或者用于动态地获取数据。&lt;br /&gt;关键在于，Internet默认的请求/响应模式有了重大转变，这正是Ajax的核心所在，尽管这并非全新的内容。Web应用开发人员现在可以自由地与服 务器异步交互，这说明，他们可以完成许多原本只能在胖客户上完成的任务。例如，用户输入一个邮政编码时，可以验证这个邮政编码是否正确，然后用相应的城市 和州填写表单中的其他部分；或者，用户选择美国时，可以用美国的各个州来填写一个下拉列表。以前也可以用其他方式模拟这些工作，但是使用Ajax的话，这 些工作会更加简单。&lt;/p&gt;   &lt;p&gt;那 么，是谁发明了Ajax？要找出真正的源头，为此总免不了一场争论；不过，有一点是确定的，2005年2月，Adaptive Path的JesseJames Garrett最早造了这个词。在他的文章“Ajax: A New Approach to Web Applications”（Ajax：Web应用的一种新方法）中，Garrett讨论了如何消除胖客户（或桌面）应用与瘦客户（或Web）应用之间的 界限。当然，Google在Google Labs发布Google Maps和Google Suggest时，这个技术才真正为人所认识；而且此前已经有许多这方面的文章了。但确实是Garrett最早提出了这个词，否则我们就得罗罗嗦嗦地说上 一大堆：异步（Asynchronous）、XMLHttpRequest、JavaScript、CSS、DOM等等。尽管原来把Ajax认为是 Asynchronous JavaScript + XML（异步JavaScript + XML）的缩写，但如今，这个词的覆盖面有所扩展，允许浏览器与服务器通信而无需刷新当前页面的技术都涵盖在内。&lt;/p&gt;   &lt;p&gt;你可能会说， “哦，那有什么大不了的？”。这么说吧，使用XHR，而且与服务器异步通信，这样就能创建更加动态的Web应用。例如，假设你有一个下拉列表，这个列表是 根据另外一个域或下拉列表的输入来填写的。正常情况下，必须在加载第一个页面时把所有数据都发送给客户，然后使用JavaScript根据输入来填写下拉 列表。这么做并不困难，但是会让你的页面变得很臃肿，取决于你的下拉列表到底有多“动态”，页面很可能膨胀得过大，这就有问题了。利用 Ajax的话，当作为触发源的域有变化，或者失去了输入焦点，就可以向服务器做一个简单的请求，只要求得到更新下拉列表所需的部分信息。&lt;br /&gt;来单独考虑一下验证。你写过多少JavaScript验证逻辑？用Java或C#编写验证逻辑可能很简单，但是由于JavaScript缺乏很好的调试工 具，再加上JavaScript是一种弱类型语言，所以用JavaScript编写验证逻辑实在是一件让人头疼的事情，而且很容易出错。服务器上还很有可 能重复这些客户端验证规则。使用XHR，可以对服务器做一个调用，触发某一组验证规则。这些规则可能比你用JavaScript编写的任何规则都更丰富、 更复杂，而且你还能得到功能强大的调试工具和集成开发环境（IDE）。&lt;br /&gt;你现在可能又会说，“这些事情我早已经用IFRAMES或隐藏框架做到了。”我们甚至还使用这种技术来提交或刷新过页面的一部分，而不是整个浏览器（页 面）；不能不承认，这确实可行。不过，许多人认为这种方法只是一种修补手段，以弥补XHR原来缺乏的跨浏览器支持。作为Ajax的核心，XHR对象设计为 允许从服务器异步地获取任意的数据。&lt;br /&gt;我们讨论过，传统的Web应用遵循一种请求/响应模式。如果没有Ajax，对于每个请求都会重新加载整个页面（或者如果利用IFRAMEs，则是部分页 面）。原来查看的页面会放到浏览器的历史栈中（不过，如果使用了IFRAMEs，点击“后退”（back）按钮不一定能得到用户期望的历史页面）。与此不 同，用XHR做出的请求不会记录在浏览器的历史中。如果你的用户习惯于使用后退按钮在Web应用中导航的话，就可能会产生问题。&lt;/p&gt;   &lt;p&gt;1.4　可用性问题&lt;/p&gt;   &lt;p&gt;前 面谈到的都是用户的期望，除此以外，可用性也不能不提。Ajax方法相当新，还没有多少成熟的最佳实践或启发规则。不过，标准Web设计原则还是适用的。 随着时间推移，越来越多的人开始尝试这种方法时，就会发现可能存在哪些限制，并建立适当的指导原则。也就是说，你应该让用户来指导你。取决于在应用中如何 使用Ajax，你可能会动态地改变页面中的某些部分；习惯于整个浏览器完全刷新的用户可能不会注意到与以前有什么变化。这个问题引出了一些新的特性，如 37signals所普及的黄褪技术（Yellow Fade Technique，YFT)，这个特性已经用在Ajax的旗舰应用Basecamp中。&lt;br /&gt;基本说来，YFT 是指，“取页面中有变化的部分，并置为黄色”。假设你的应用原本没有大量使用黄色，用户就很可能会注意到这种改变。过一段时间后，再让黄色逐渐褪色，直到 恢复为原来的背景色。显然，你也可以选用你喜欢的其他颜色；所要做的就是把用户的注意力吸引到有变化的部分。&lt;br /&gt;    可能YTF并不适用于你的应用；你也可以选择用一种不那么明显但仍很有用的方式来提醒用户。Gmail在右上角显示了一个闪动的红色“Loading” 加载记号，提醒用户正在获取数据。&lt;/p&gt;   &lt;p&gt;究 竟要使用YFT还是一种类似的技术，这实际上取决于你的用户。最简单的方法是让一组用户代表来进行测试。可以通过文字问卷，也可以使用基于Web的原型应 用，这要看你处在设计过程的哪个阶段，但是不论如何测试，在真正采用Ajax完成复杂设计之前都应该得到一些用户反馈。&lt;br /&gt;    而且要从小处做起。刚开始使用Ajax时，不应该马上就去创建一个可以调整列的动态门户网站。而是应该先试着处理客户端验证，逐步转向服务器端。等有所了解后，可以再尝试更动态的使用，如填写一个下拉列表，或者设置某些默认文本。&lt;br /&gt;不管你要如何应用Ajax，要记住，别做稀奇古怪的事情。我们知道，这不算是一个学术性的建议。不过，目前这方面还没有严格的规则。听听你的用户怎么说， 部署之前要先做测试，而且要记住，如果太过古怪，用户很快就会点击“skip intro”链接跳过你精心设计的这些部分。&lt;br /&gt;你要知道使用Ajax 时有几个常犯的错误。我们已经讨论过，有变化时如何向用户提供可视化的提示，不仅如此，Ajax还会以其他方式改变标准的Web方法。首先，不同于 IFRAMES和隐藏框架，通过XHR做出请求不会修改浏览器的历史栈。在许多情况下这没有什么问题（你可能会点击后退箭头，只是要看看是不是什么都没有 改变，但这么做能有几次呢？） ，不过，如果你的用户确实想用后退按钮，就有问题了。&lt;br /&gt;    与其他基于浏览器的方法不同，Ajax不会修改地址栏中显示的链接，这说明你不能轻松地为一个页面建立书签，或者向朋友发送一个链接。对于许多应用来说，可能没有这个要求，但是如果你的网站提供了驾驶方向之类的东西，就要针对这个问题提供一个解决方案。&lt;br /&gt;    有一点很重要，不要过分使用Ajax。记住，JavaScript会在客户的浏览器上运行，如果有数千行JavaScript代码，可能会让用户感觉速度太慢。如果脚本编写不当，就会很快失去控制，特别是当通信量增加时。&lt;br /&gt;Ajax允许你异步地完成操作，这个最大的优点同时也是它最突出的缺点。我们以前总是告诉用户，Web应用是以一种请求/响应模式完成操作的，用户也已经 接受了这种思想，但是利用Ajax，就不再有这个限制。我们可以修改页面的一部分，如果用户不希望这样，他们很可能会被搞糊涂。所以，你要注意一定要让用 户明白这一点，不要过分自作聪明。记住，只要有问题，就要请用户代表进行测试！&lt;/p&gt;   &lt;p&gt;1.5　相关技术&lt;/p&gt;   &lt;p&gt;你 看到这本书时，可能已经了解了在应用中实现Ajax所需的大多数技术。重申一句，我们想强调的是，Ajax是一个客户端技术，不论你现在使用何种服务器端 技术，都能使用Ajax，而不管使用的是Java、.NET、Ruby、PHP还是CGI。实际上，这本书里，我们并不考虑服务器端，而且假设你已经很清 楚如何结合你日常工作中使用的服务器端技术。在后面的几百页中，我们强调的重点是客户端技术和方法，创建丰富的基于浏览器的应用时需要用到这些技术。&lt;br /&gt;尽管可以使用你喜欢的任何服务器端技术，使用Ajax时，思想还是需要一点转变。在一个典型的Web应用中，服务器端代码会呈现一个完整的页面，并涉及一 个完整的工作单元。利用Ajax，可能只返回一点点文本，而且只涉及一个业务应用的很小的子集。对于大多数有经验的Web开发人员来说，理解起来没有什么 问题，但是一定要把这一点记住。&lt;br /&gt;一些新兴的框架有助于使开发人员不用去考虑Ajax的一些细节；不过，你要对JavaScript有所了解。我们知道，JavaScript用起来可能很 费劲。很遗憾，对此没有什么办法。我们大多数人都学过这么一招，把“alert”作为一种系统输出来帮助调试，糟糕的是，这种技术使用得还很广。不过，现 在我们有了新的利器。&lt;br /&gt;    除了JavaScript，你还要熟悉其他一些与表示相关的技术，如HTML、DOM和CSS。你不必是这方面的专家，但是基本了解还是必要的。这本书里我们会谈到需要你知道的大多数内容，这里没有谈到的内容可以参考网上的资源。&lt;br /&gt;关于测试驱动（你肯定写了单元测试，对不对？），我们会介绍JsUnit和Selenium。利用这些工具，可以先开发JavaScript测试，并检查 浏览器兼容性测试。通常认为，下一代开发环境会对JavaScript提供更好的支持，另外一些与Ajax相关的技术会进一步减轻开发人员的负担。不断引 入的脚本和框架也使开发变得更为简单。&lt;/p&gt;   &lt;p&gt;1.6　用法&lt;/p&gt;   &lt;p&gt;既 然你已经对Ajax产生了兴趣，还要知道重要的一点，什么时候应该使用Ajax技术，而什么时候不该用。首先，不要害怕在你的应用中尝试新的方法。我们相 信，几乎每一个Web应用都能从Ajax技术得到好处；只不过不要矫枉过正，过于离谱就行了。从验证开始就很合适，但是不要限制你的主动性。你当然可以使 用Ajax提交数据，但可能不能把Ajax作为提交数据的主要方法。&lt;br /&gt;其次，惟一会影响你应用Ajax的就是浏览器问题。如果大量用户（或者特别重要的用户）还在使用比较老的浏览器，如Internet Explorer 5、Safari 1.2或Mozilla 1.0之前的版本，Ajax技术就不能奏效。如果这是一些很重要的用户，就要使用针对目标用户的跨浏览器的方法，而放弃Ajax，或者开发一个可以妥善降 级的网站。浏览器支持可能不是一个重要因素，因为Netscape Navigator4在市场上的份额很小；不过，还是应该查看web日志，看看你的应用适用什么技术。&lt;br /&gt;    如前所述，验证和表单填写就非常适合采用Ajax实现。还可以使用DOM的“拖”技术建立真正动态的网站，如Google的个性化主页。&lt;/p&gt;   &lt;p&gt;可以看到，Ajax为Web应用开发提供了新的机会。你不会再因为以往的专用技术或表现不佳而受到妨碍。利用Ajax，胖客户与瘦客户之间的界限不再分明，真正的蠃家则是你的用户。&lt;/p&gt;   &lt;p&gt;1.7　设计考虑&lt;/p&gt;   &lt;p&gt;既 然对在哪里使用Ajax已经有所认识，下面再来谈谈应用Ajax的一些设计考虑。许多原则与Web应用的原则并无不同，不过还是有必要强调一下。要尽力减 少客户和服务器之间的通信量。如果应用得当，Ajax会使你的应用响应更快，但是如果每次用户从一个域移到另一个域时你都会来回传递超量的数据，用户肯定 不会满意。如果有问题，按标准约定行事。如果大多数应用都那么做，可能你也应该那么做。如果还有问题，可以看看Web桌面应用的有关标准。为此已经建立了 一些模式，而且以后还会有更多的模式 (www.ajaxpatterns.org)。&lt;br /&gt;刚开始使用Ajax时，你的用户可能不清楚应用是怎么工作的。多年来我们一直在告诉用户：Web是以某种（同步）方式工作的，而Ajax则增加了异步组 件，可能与之背道而驰。简单地说，不要让用户觉得奇怪。用户用跳格键离开最后一个域时，如果以前的应用（没有使用Ajax的应用）没有保存表单，那么使用 Ajax之后的应用也不要保存表单。&lt;br /&gt;实现Ajax时最重要的问题是要力求简单：完全从用户出发，要尽量“傻瓜”（类似于“傻瓜”相机，用户只需最简单的操作就能得到想要的照片）。要把用户放 在心上，不要去做“简历驱动的设计”（译者注：有的开发人员希望完成一个复杂的设计，以便写在简历里，来证明自己的能力）。如果只是想让新老板接受你，并 因此在应用中使用Ajax，这是不合适的；如果使用Ajax能让你的用户有更丰富的体验，那就义无反顾地使用Ajax吧。但是，别忘了，只是因为你会做， 并不意味着应该做。要理智一些，先考虑你的用户，这样才对。&lt;br /&gt;我们后面还会更多地谈到安全，但是这里需要先说明一点，Ajax有一些安全考虑。记住，可以在浏览器中查看源代码，这说明任何人都能知道你是怎么创建你的 小部件的。建立XHR对象时必须包含统一资源定位符（uniform resource locators，URL），所以可能会有恶意用户修改你的网站，运行他们自己的代码。谨慎地使用Ajax可以降低这种风险。&lt;/p&gt;   &lt;p&gt;1.8　小结&lt;/p&gt;   Internet 最初只是要连接研究人员，让他们共享信息，时至今日，Internet已经得到了巨大的发展。Internet开始时只有简单的文本浏览器和静态页面，但 是如今几乎每家公司都有一个亮丽的网站，想找到一个粗糙的网站倒是很不容易。最早谁能想得到，有一天人们能在网上共同研究新型汽车，或者购买最新的 Stephen King小说呢？&lt;br /&gt;胖客户应用的开发人员都饱受部署之苦，因为要把应用部署到数以千计的用户机器上，他们急切地希望Web能够减轻他们的负担。多年以来，已经出现了许多 Web应用技术，有些是专用的，另外一些需要高超的编程能力。在用户体验方面，尽管这些技术有弱有强，但没有哪个技术能使瘦客户应用达到桌面应用的水平。 不过，由于很容易部署，有更大的客户群体，而且维护开销更低，这说明尽管浏览器存在一定的局限性，仍是许多应用的首选目标平台。&lt;br /&gt;开发人员可以使用一些技巧来绕过Internet对开发人员的麻烦限制。利用各种远程脚本方法和HTML元素，开发人员可以与服务器异步地通信，但是直到 主流浏览器对XMLHttpRequest对象提供了支持，真正的跨浏览器方法才有可能。Google、Yahoo和Amazon等公司已经走在前面，我 们终于看到基于浏览器的应用也能与胖客户应用不相上下。利用Ajax，你可以尽享这两方面的好处：代码位于你能控制的服务器上，而且只要客户有浏览器，就 能访问一个能提供丰富用户体验的应用。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-2739781830439912146?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/2739781830439912146/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=2739781830439912146&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2739781830439912146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2739781830439912146'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/06/ajax-overview-of-ajax.html' title='AJAX 技术介绍--overview of ajax'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-7814274847163623659</id><published>2007-06-03T11:11:00.000+08:00</published><updated>2007-06-03T11:16:21.653+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='杂趣--fun stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><title type='text'>教育的未来--the future of education</title><content type='html'>现在的学生未来到底会面对一个怎样的世界,值得深思的一个问题.&lt;object height="350" width="400"&gt;&lt;param name="movie" value="http://www.tudou.com/v/Mb9jfTvsaSg"&gt;&lt;embed src="http://www.tudou.com/v/Mb9jfTvsaSg" type="application/x-shockwave-flash" height="350" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;这是台湾的一个翻译版本,&lt;a href="http://www.youtube.com/watch?v=xHWTLA8WecI"&gt;英文原版在这里(English version)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-7814274847163623659?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/7814274847163623659/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=7814274847163623659&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7814274847163623659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7814274847163623659'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/06/future-of-education.html' title='教育的未来--the future of education'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-6832674542202956029</id><published>2007-06-03T10:41:00.000+08:00</published><updated>2007-06-03T11:07:21.962+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='杂趣--fun stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><title type='text'>Web 2.0 in just under 5 minutes</title><content type='html'>&lt;span style="display: inline;" id="vidDescRemain"&gt;Web 2.0" in just under 5 minutes.&lt;/span&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 0px ! important;" title="点击这里使 Adblock Plus 过滤该对象" class="abp-objtab visible" href="http://www.youtube.com/v/NLlGopyXT_g"&gt;&lt;/a&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NLlGopyXT_g"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/NLlGopyXT_g" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-6832674542202956029?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/6832674542202956029/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=6832674542202956029&amp;isPopup=true' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6832674542202956029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6832674542202956029'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/06/web-20-in-just-under-5-minutes.html' title='Web 2.0 in just under 5 minutes'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-9163834926713309108</id><published>2007-05-31T02:40:00.000+08:00</published><updated>2007-06-01T18:40:40.492+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><title type='text'>轻松打造web2.0风格按钮--My Cool Button</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kenzone/521872980/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/219/521872980_58c3684bfc_o.jpg" alt="kenzone2" height="137" width="668" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; 只需4步,轻松打造web2.0风格的按钮,&lt;a href="http://www.mycoolbutton.com/"&gt;mycoolbutton&lt;/a&gt; 上线,当然只支持英文,中文的有待国内的模仿达人.&lt;br /&gt; 要说的是它的后台,使用了我很喜欢的&lt;span id="sub_center_5"&gt;&lt;a href="http://jquery.org.cn/"&gt;jQuery&lt;/a&gt;. 大家赶快去&lt;a href="http://www.mycoolbutton.com/"&gt;尝试一下.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-9163834926713309108?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/9163834926713309108/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=9163834926713309108&amp;isPopup=true' title='5 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/9163834926713309108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/9163834926713309108'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/web20-my-cool-button.html' title='轻松打造web2.0风格按钮--My Cool Button'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-167124265771198396</id><published>2007-05-31T02:28:00.000+08:00</published><updated>2007-05-31T02:33:49.430+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax工具--Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax框架--Frameworks'/><title type='text'>Ruby on Rails 繁体中文版</title><content type='html'>&lt;a href="http://rubyonrails.org.tw/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/242/521850918_9857e81dc3_o.jpg" alt="kenzone1" height="178" width="735" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;让RoR快点普及吧....语言不是障碍...&lt;a href="http://rubyonrails.org.tw/"&gt;中文版来咯&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-167124265771198396?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/167124265771198396/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=167124265771198396&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/167124265771198396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/167124265771198396'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ruby-on-rails.html' title='Ruby on Rails 繁体中文版'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-3965025321574856656</id><published>2007-05-29T23:09:00.000+08:00</published><updated>2007-05-29T23:50:13.949+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax教程--tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax效果--Effect'/><title type='text'>如何用ajax建站--Increasing User Experience With Javascript</title><content type='html'>在&lt;a href="http://beautyindesign.com"&gt;beautyindesign&lt;/a&gt;找到这个用Javascript增加用户体验的视频教程,让初学者了解一下,ajax应该怎样用.&lt;br /&gt;  视频里用了一个blog作为示范,在里面演示了怎样用ajax武装整个blog,例如:&lt;br /&gt;    *  LightBox type photo gallery (LightBox效果的图片展示)&lt;br /&gt;    * Expanding sub-menus (树状菜单)&lt;br /&gt;    * AJAX loaded pages  (无刷新加载页面内容)&lt;br /&gt;    * Sliding image menus  (滑动图片菜单)&lt;br /&gt;    * Reflecting images without having to touch Photoshop  (纯代码图片影子效果)&lt;br /&gt;    * Condensing a web page with Fx.Styles and Sliding Tabs  (高亮效果和标签式页面)&lt;br /&gt;    * ...and more (更多..)&lt;br /&gt;&lt;br /&gt;一共有9段视频,我把它弄下来传到6room,下面是第一个视频&lt;br /&gt;Introduction  (介绍)&lt;br /&gt;&lt;br /&gt;    * Overview of the series  &lt;br /&gt;    * Showcasing the javascript effects  (所有效果展示)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object&gt;&lt;param name="movie" value="http://www.6rooms.com/p/WCTWYOJWJk5XhwvapqsB/A" /&gt;&lt;embed src="http://www.6rooms.com/p/WCTWYOJWJk5XhwvapqsB/A" width="600" height="500" type="application/x-shockwave-flash" /&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;ps:&lt;a href="http://beautyindesign.com/tutorial/increasing_user_experience_with_javascript.php"&gt;原文地址&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-3965025321574856656?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/3965025321574856656/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=3965025321574856656&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/3965025321574856656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/3965025321574856656'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-increasing-user-experience-with.html' title='如何用ajax建站--Increasing User Experience With Javascript'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-7347359439457720484</id><published>2007-05-29T00:14:00.000+08:00</published><updated>2007-05-29T00:19:08.117+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax框架--Frameworks'/><title type='text'>4大Ajax框架--JavaScript Libraries: The Big Picture</title><content type='html'>在&lt;a href="http://www.slideshare.net"&gt;slideshare&lt;/a&gt; 看到&lt;a href="http://www.slideshare.net/simon/javascript-libraries-the-big-picture"&gt;这个&lt;/a&gt;,比较了当前比较热门的4大ajax框架-- The Dojo Toolkit • The Yahoo! User Interface Library • Prototype (and Script.aculo.us) • jQuery&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="点击这里使 Adblock Plus 过滤该对象" class="abp-objtab visible" href="https://s3.amazonaws.com/slideshare/ssplayer.swf?id=50336&amp;doc=javascript-libraries-the-big-picture-20285"&gt;&lt;/a&gt;&lt;object type="application/x-shockwave-flash" data="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=50336&amp;amp;doc=javascript-libraries-the-big-picture-20285" height="348" width="425"&gt;&lt;param name="movie" value="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=50336&amp;amp;doc=javascript-libraries-the-big-picture-20285"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-7347359439457720484?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/7347359439457720484/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=7347359439457720484&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7347359439457720484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7347359439457720484'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/4ajax-javascript-libraries-big-picture.html' title='4大Ajax框架--JavaScript Libraries: The Big Picture'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-8369756479657017944</id><published>2007-05-28T23:33:00.000+08:00</published><updated>2007-05-28T23:39:20.152+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax框架--Frameworks'/><title type='text'>Ajax资源 Frameworks / Libraries</title><content type='html'>&lt;h3&gt;JavaScript&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;&lt;a href="http://dojotoolkit.org/"&gt;The Dojo Toolkit&lt;/a&gt;: The kitchen sink&lt;/li&gt;&lt;li&gt;&lt;a href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt;: base Ajax library and more&lt;/li&gt;&lt;li&gt;&lt;a href="http://script.aculo.us/"&gt;Script.aculo.us&lt;/a&gt;: rich effects built on Prototype&lt;/li&gt;&lt;li&gt;&lt;a href="http://openrico.org/"&gt;Rico&lt;/a&gt;: rich Ajax components and effects built on Prototype&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ripcord.co.nz/behaviour/"&gt;Behaviour&lt;/a&gt;: Keep your HTML clean&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mochikit.com/"&gt;MochiKit&lt;/a&gt;: MochiKit makes JavaScript suck less&lt;/li&gt;&lt;li&gt;&lt;a href="http://moofx.mad4milk.net/"&gt;Moo.fx&lt;/a&gt;: tiny effect library&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajform.sourceforge.net/"&gt;AJFORM&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://qooxdoo.oss.schlund.de/"&gt;Qooxdoo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zimbra.com/pdf/Zimbra%20AJAX%20TK%20Whitepaper.pdf"&gt;Zimbra AjaxTK&lt;/a&gt;: vendor toolkit&lt;/li&gt;&lt;li&gt;&lt;a href="http://backbase.com/"&gt;Backbase&lt;/a&gt;: Commercial vendor toolkit&lt;/li&gt;&lt;li&gt;&lt;a href="http://tibco.com/"&gt;TIBCO General Interface (aka GI)&lt;/a&gt;: Dual license - details &lt;a href="http://ajaxian.com/archives/tibco-gi-32-open-sourced-and-firefoxed"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jackbe.com/"&gt;JackBe&lt;/a&gt;: Commerical vendor toolkit&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bindows.net/"&gt;Bindows&lt;/a&gt;: Commerical vendor toolkit&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.isomorphic.com/"&gt;Isomorphic&lt;/a&gt;: Commercial vendor toolkit&lt;/li&gt;&lt;li&gt;&lt;a href="http://thyapi.sourceforge.net/"&gt;ThyAPI&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.technicalpursuit.com/ajax_indepth.htm"&gt;Tibet&lt;/a&gt;: Commercial vendor toolkit&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vertexlogic.com/"&gt;AjaxFace&lt;/a&gt;: Commercial&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.softwareag.com/Corporate/products/cv/appldes/default.asp"&gt;Crossvision Application Designer by Software AG&lt;/a&gt;: Commercial&lt;/li&gt;&lt;/ul&gt;  &lt;h3&gt;Java based&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;&lt;a href="https://dwr.dev.java.net/"&gt;DWR&lt;/a&gt;: Proxy-based Ajax&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nextapp.com/platform/echo2/echo/"&gt;Echo2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajaxtags.sourceforge.net/"&gt;Ajax Tags&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.opensymphony.com/webwork/"&gt;WebWork 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://struts.application-servers.com/"&gt;Struts Layout&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tacos.sourceforge.net/"&gt;Tapestry Tacos&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wicket.codehaus.org/"&gt;Wicket&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.icesoft.com/products/demos_icefaces.html"&gt;ICEfaces&lt;/a&gt;: Commercial&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.clearnova.com/ThinkCAP/servlet/LayoutMgr?LAYOUT=/cn/inside&amp;subhead=thinkcap&amp;amp;$LAYOUTS$=/cn/home$"&gt;ThinkCap JX&lt;/a&gt;: Commercial&lt;/li&gt;&lt;/ul&gt;  &lt;h3&gt;PHP&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.modernmethod.com/sajax/"&gt;Sajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xoad.org/"&gt;XOAD&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://xajaxproject.org/"&gt;xajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajax.zervaas.com.au/"&gt;AjaxAC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/projects/jpspan"&gt;JPSpan&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cpaint.booleansystems.com/"&gt;CPAINT&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pear.php.net/package/HTML_AJAX/"&gt;Pear::Html::Ajax&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h3&gt;.NET&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;&lt;a href="http://ajax.schwarz-interactive.de/"&gt;Ajax.NET&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://atlas.asp.net/"&gt;Microsoft Atlas&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajaxaspects.blogspot.com/"&gt;AjaxAspects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.themidnightcoders.com/weborb/aboutWeborb.htm"&gt;WebORB for .NET&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h3&gt;Cross Language / Other&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;Ruby: &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Python: &lt;a href="http://www.turbogears.org/"&gt;TurboGears&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Python: &lt;a href="http://crackajax.net/"&gt;Crack Ajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Perl: &lt;a href="http://search.cpan.org/dist/CGI-Ajax/lib/CGI/Ajax.pm"&gt;CGI::Ajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Lisp: &lt;a href="http://www.cliki.net/cl-ajax"&gt;CL-Ajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://oss.metaparadigm.com/jsonrpc/"&gt;JSON-RPC&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;General Ajax Info&lt;/h2&gt;  &lt;ul&gt;&lt;li&gt;&lt;a href="http://ajaxpatterns.org/"&gt;Ajax Patterns&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajaxmatters.com/"&gt;Ajax Matters&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajaxinfo.com/"&gt;Ajax Info&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajaxblog.com/"&gt;Ajax Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29"&gt;Wikipedia on Ajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://developer.mozilla.org/en/docs/AJAX"&gt;Mozilla on Ajax&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adaptivepath.com/publications/essays/archives/000385.php"&gt;Adaptive Path Ajax Essay&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.baekdal.com/articles/Usability/XMLHttpRequest-guidelines/"&gt;XHR Guidelines&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;International Ajax&lt;/h2&gt;  &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ajaxhispano.com/"&gt;Ajax Hispano&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ajaxtalk.de/"&gt;German Ajax Talk&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;来自&lt;a href="http://ajaxian.com/"&gt;Ajaxian&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-8369756479657017944?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/8369756479657017944/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=8369756479657017944&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8369756479657017944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8369756479657017944'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-frameworks-libraries.html' title='Ajax资源 Frameworks / Libraries'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-8737437462962242375</id><published>2007-05-25T04:10:00.000+08:00</published><updated>2007-05-28T01:27:05.641+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog杂趣-Blog stuff'/><title type='text'>重新设计界面--redesign my blog</title><content type='html'>改了主色调为浅蓝色,用ps做了个logo,去掉所有广告,增加了划词评论功能,清爽多了...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-8737437462962242375?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/8737437462962242375/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=8737437462962242375&amp;isPopup=true' title='4 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8737437462962242375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8737437462962242375'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/redesign.html' title='重新设计界面--redesign my blog'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-7891387787935828014</id><published>2007-05-23T23:49:00.000+08:00</published><updated>2007-05-28T01:27:05.643+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog杂趣-Blog stuff'/><title type='text'>Krista对此blog的看法</title><content type='html'>在&lt;a href="http://kristalovekrista.spaces.live.com/"&gt;Krista&lt;/a&gt;强烈要求下,要在这里发表她对这个blog的看法,以下是我们非常无聊的对话:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;牛奶妹 23:33:19&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;有感情啊！&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:32:54&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:33:02&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;耐唔耐更新下..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:34:39&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;甘点解你要呢个五要果个拉？&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:34:57&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;果个有咩得罪你既地方啊？你甘对距&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:34:55&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;果个交流唔好..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:35:05&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;好难推广..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:36:09&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;你呢个仲衰过果个，全部就系个烂鬼ajax，到宜家都唔知系乜嘢既野，以前果个都仲话有其他野睇下啊，虽然都唔系好明&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:35:59&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;我呢个系专题blog..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:36:03&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;专写技术...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:36:49&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;d图又开唔到&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:36:54&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;评论又写唔到&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:36:29&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;校园网开唔到..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:37:44&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;你呢个blog分明系针对我！&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:37:49&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;哼！&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:37:22&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:37:30&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;反正你都唔睇噶拉...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:38:05&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;我睇啊！&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:37:37&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;感我干脆写好d..专业d&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;K 23:37:45&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;唔好乜都写..&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 牛奶妹 23:38:22&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;一d都唔专业，完全唔知你系度up乜&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;本文纯粹满足某人的个人欲望(对技术无知的发泄),大家路过便可.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-7891387787935828014?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/7891387787935828014/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=7891387787935828014&amp;isPopup=true' title='4 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7891387787935828014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7891387787935828014'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/kristablog.html' title='Krista对此blog的看法'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-2509902834220520091</id><published>2007-05-23T15:19:00.000+08:00</published><updated>2007-05-28T01:26:59.934+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog杂趣-Blog stuff'/><title type='text'>给QQ封锁邮箱</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kenzone/510539514/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/214/510539514_4edb1a54c1_o.jpg" alt="kenzone1" height="338" width="517" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;昨天在Q群邮件里看到有人发了一篇垃圾广告,我就随便回复了一句这样的"好东西你自己留着吧"&lt;br /&gt;&lt;br /&gt;今天再打开QQ邮箱就看到上面的提示.&lt;br /&gt;&lt;br /&gt;特别要说的是,那个垃圾广告不带任何文字和链接,只有一张图,写的是类似"你被腾讯抽中成为XX会员之类,请到XXX网站获取详情."而且点击图是不带链接的.&lt;br /&gt;&lt;br /&gt;从这个我就想到私隐问题,腾讯是凭什么知道这个是一个垃圾广告,而不是一般的贴图,人工还是机器?&lt;br /&gt;&lt;br /&gt;如果是人工看过了,那他也不会"天才"到把我的也封了,如果是机器,也太有才了....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-2509902834220520091?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/2509902834220520091/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=2509902834220520091&amp;isPopup=true' title='4 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2509902834220520091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2509902834220520091'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/qq.html' title='给QQ封锁邮箱'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-4084920090897035217</id><published>2007-05-23T02:28:00.000+08:00</published><updated>2007-05-28T01:28:03.295+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax框架--Frameworks'/><title type='text'>Ajax框架--RichFaces</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kenzone/509683396/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/217/509683396_1ef65770de_o.jpg" alt="kenzone1" height="150" width="507" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;基于开源框架Ajax4jsf的程序库--&lt;a href="http://livedemo.exadel.com/richfaces-demo/"&gt;RichFaces&lt;/a&gt;  ,有很强大的功能模块,而且开源提供&lt;a href="http://labs.jboss.com/portal/jbossrichfaces/downloads"&gt;下载&lt;/a&gt;,最新版本是&lt;a href="http://livedemo.exadel.com/richfaces-demo/"&gt;3.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kenzone/509690130/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/223/509690130_bb84c7726d_o.jpg" alt="kenzone2" height="562" width="201" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-4084920090897035217?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/4084920090897035217/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=4084920090897035217&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4084920090897035217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4084920090897035217'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-richfaces.html' title='Ajax框架--RichFaces'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-1806547660520583034</id><published>2007-05-23T01:35:00.000+08:00</published><updated>2007-05-28T01:29:23.010+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax教程--tutorials'/><title type='text'>在线Ajax详细教程--18-week "Free" AJAX Programming Online Course</title><content type='html'>&lt;a href="http://www.javapassion.com/"&gt; Javapassion&lt;/a&gt; 发布了"&lt;a href="http://www.javapassion.com/ajaxcodecamp"&gt;18个星期学好Ajax&lt;/a&gt;"(全英文)&lt;br /&gt;&lt;br /&gt;包括大量的基础教程和最新的框架讲解,以下是目录&lt;br /&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#1"&gt;Ajax Basics &amp; Development Tools&lt;/a&gt;&lt;br /&gt;   &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#2"&gt;JavaScript Basics and DOM APIs&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#3"&gt;Ajax Frameworks and Toolkits&lt;/a&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#4"&gt;Ajax Application Examples&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#5"&gt;Dojo Toolkit Basics&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#6"&gt;Dojo Toolkit Advanced&lt;/a&gt;&lt;br /&gt;   &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#7"&gt;ProtoType&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#8"&gt;JSON&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#9"&gt;Direct Web Remoting (DWR)&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#10"&gt;Google Web Toolkit&lt;/a&gt; &lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#11"&gt;JavaServer Faces (JSF) and Ajax Integration&lt;/a&gt;&lt;br /&gt;   &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#12"&gt;DynaFaces&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#13"&gt;jMaki&lt;/a&gt;&lt;br /&gt;   &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#14"&gt;Web Application Frameworks and Ajax&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#15"&gt;ZK Framework&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#16"&gt;CSS&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#17"&gt;JavaScript Best Practices&lt;/a&gt;&lt;br /&gt;   &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#18"&gt;Phobos (Script-based MVC framework)&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/index.html#19"&gt;Portlet/Portals and Ajax&lt;/a&gt; - &lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt; &lt;div style="margin-left: 40px;"&gt;This is going to be the end of the course.&lt;br /&gt;&lt;/div&gt;    &lt;ol&gt;&lt;ol start="20"&gt;&lt;li&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#20"&gt;Dissecting the Java BluePrints Petstore 2.0 Reference Application&lt;/a&gt; - work in progress&lt;br /&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;a href="http://www.javapassion.com/ajaxcodecamp/#21"&gt;Ajax Design Patterns and Best Practices&lt;/a&gt; - work in progress&lt;br /&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Commercial framework/tools (Backbase, JackBe, Tibco) &lt;/span&gt;&lt;/span&gt;- work in progress&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;有兴趣可以去看一下--&lt;a href="http://www.javapassion.com/ajaxcodecamp"&gt;18个星期学好Ajax(18-week "Free" AJAX Programming  Online Course)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-1806547660520583034?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/1806547660520583034/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=1806547660520583034&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1806547660520583034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1806547660520583034'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-18-week-free-ajax-programming.html' title='在线Ajax详细教程--18-week &quot;Free&quot; AJAX Programming Online Course'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-406460252527294510</id><published>2007-05-22T21:52:00.000+08:00</published><updated>2007-05-28T01:30:08.849+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax工具--Tools'/><title type='text'>Ajax工具列表--The Complete List of Ajax Tools</title><content type='html'>不知不觉Ajax已经风魔了快3年,风风雨雨的3年里,Ajax为五联网带来了新的一轮热潮,现在也越来越成熟,越来越多的公司投入开发,研发出很多功能更强大更稳定的框架,为编程带来方便.以下是来自&lt;a href="http://www.realsoftwaredevelopment.com/2006/10/the_complete_li_1.html"&gt;Real World&lt;/a&gt;的Ajax工具列表&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;Libraries / API's&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://developer.yahoo.com/yui/index.html"&gt;Yahoo Ajax Libraries&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxsearch/"&gt;Google Ajax Search&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://developer.yahoo.com/maps/ajax/index.html"&gt;Yahoo Maps Ajax API&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;.NET Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ajaxium.com/"&gt;ajaxium&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="AJAX Engine" href="http://www.mathertel.de/AJAXEngine/"&gt;AJAX Engine&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Atlas" href="http://atlas.asp.net/default.aspx?tabid=47"&gt;Asp.net Ajax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ajaxpro.info/"&gt;Ajax.net Pro&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Bitkraft" href="http://www.tiggrbitz.com/"&gt;Bitkraft&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="MagicAjax" href="http://www.magicajax.net/"&gt;MagicAjax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="MonoRail" href="http://www.castleproject.org/index.php/MonoRail"&gt;MonoRail&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://anthem-dot-net.sourceforge.net/"&gt;Anthem.net&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="zumiPage" href="http://www.zumipage.com/"&gt;zumiPage&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.visualwebgui/"&gt;Visual WebGui&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="www.comfortasp.de" href="http://www.comfortasp.de/"&gt;ComfortASP.net&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://dart.com/powerweb/livecontrols.asp"&gt;PowerWEB LiveControls&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.emergetk/"&gt;emergetk&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://fastpage.more.at/"&gt;FastPage&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.themidnightcoders.com/weborb/aboutWeborb.htm"&gt;WebORB for .net&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;ColdFusion Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="ajaxCFC" href="http://www.robgonda.com/blog/projects/ajaxcfc/"&gt;ajaxCFC&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="CFAjax" href="http://www.indiankey.com/cfajax/"&gt;CFAjax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="JSMX" href="http://www.lalabird.com/"&gt;JSMX&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://guidone.bloggers.it/wddxAjax"&gt;wddxAjax&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;Flash Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="Flex Framework:FABridge" href="http://labs.macromedia.com/wiki/index.php/Flex_Framework:FABridge"&gt;Flex Framework:FABridge&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;Java Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="Echo2" href="http://www.nextapp.com/platform/echo2/echo/"&gt;Echo2&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Tacos" href="http://tacos.sourceforge.net/"&gt;Tacos&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="SWATO -Shift Web Application To" href="https://swato.dev.java.net/"&gt;SWATO -Shift Web Application To&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="ThinkCAP JX - Rich Internet Applicatons with  AJAX, J2EE, and Open Source" href="http://www.clearnova.com/"&gt;ThinkCAP JX - Rich Internet Applicatons with AJAX, J2EE, and Open Source&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="WebORB" href="http://www.themidnightcoders.com/weborb/aboutWeborb.htm"&gt;WebORB&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="ZK - Rich Web Application Framework" href="http://zk1.sourceforge.net/"&gt;ZK - Rich Web Application Framework&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Rialto" href="http://rialto.application-servers.com/wiki/"&gt;Rialto&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Taconite - Cross Browser AJAX Framwork" href="http://taconite.sourceforge.net/"&gt;Taconite - Cross Browser AJAX Framwork&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="The haXe Programming Language" href="http://haxe.org/"&gt;The haXe Programming Language&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Web Input Completion Kit" href="http://wick.sourceforge.net/"&gt;Web Input Completion Kit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;Perl Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="Catalyst" href="http://www.perl.com/pub/a/2005/06/02/catalyst.html"&gt;Catalyst&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="CGI::Ajax" href="http://www.perljax.us/"&gt;CGI::Ajax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="HTML-Prototype" href="http://search.cpan.org/dist/HTML-Prototype/"&gt;HTML-Prototype&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;PHP Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://ajax.zervaas.com.au/" title=""&gt;AjaxAC - Open-souce PHP framework for AJAX&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="AJAX AGENT - helping WEB become the platform" href="http://www.hemmady.com/ajaxagent"&gt;AJAX AGENT - helping WEB become the platform&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Cajax" href="http://sourceforge.net/projects/cajax"&gt;Cajax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="CakePHP Rapid Development Framework" href="http://cakephp.org/"&gt;CakePHP Rapid Development Framework&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Flexible Ajax" href="http://tripdown.de/flxajax/"&gt;Flexible Ajax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="My-BIC = Easy Ajax" href="http://litfuel.net/mybic/"&gt;My-BIC = Easy Ajax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="PAJAJ - Object Oriented AJAX Framework" href="http://pajaj.sourceforge.net/"&gt;PAJAJ - Object Oriented AJAX Framework&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Pipeline" href="http://livepipe.net/"&gt;Pipeline&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="TinyAjax - php5 Ajax library" href="http://www.metz.se/tinyajax/index.php"&gt;TinyAjax - php5 Ajax library&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="symfony - an open-source PHP5 web framework" href="http://www.symfony-project.com/"&gt;symfony - an open-source PHP5 web framework&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="xajax" href="http://www.xajaxproject.org/"&gt;xajax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="XOAD - PHP / AJAX framework" href="http://wiki.xoad.org/index.php?title=Wiki_Home"&gt;XOAD - PHP / AJAX framework&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Zoop - PHP and AJAX Development Framework" href="http://zoopframework.com/"&gt;Zoop - PHP and AJAX Development Framework&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;AJAX  &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Python&lt;/span&gt; &lt;strong&gt;Frameworks&lt;/strong&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="CherryPy" href="http://www.cherrypy.org/"&gt;CherryPy&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Django" href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="TurboGears" href="http://www.turbogears.org/"&gt;TurboGears&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;C++ Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://witty.sourceforge.net/"&gt;Witty&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX &lt;/strong&gt;Toolkit Frameworks&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="AJAX Toolkit Framework" href="http://www.alphaworks.ibm.com/tech/ajaxtk?open&amp;S_TACT=105AGX59&amp;amp;S_CMP=GR&amp;amp;ca=dgr-jw26awajaxtk"&gt;AJAX Toolkit Framework&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;AJAX&lt;/strong&gt; Toolkits&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="AJAXLib" href="http://karaszewski.com/tools/ajaxlib/"&gt;AJAXLib&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="CPAINT" href="http://cpaint.booleansystems.com/"&gt;CPAINT&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Dojo" href="http://dojotoolkit.org/"&gt;Dojo&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="JS-Sorcerer" href="http://www.dhitechnologies.com/products/jssorcerer/"&gt;JS-Sorcerer&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="MochiKit" href="http://www.mochikit.com/doc/html/MochiKit/Visual.html"&gt;MochiKit&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Plex" href="http://www.plextk.org/"&gt;Plex&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Prototype" href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Rico" href="http://www.openrico.org/"&gt;Rico&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Sajax" href="http://www.modernmethod.com/sajax/"&gt;Sajax&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="script.aculo.us" href="http://script.aculo.us/"&gt;script.aculo.us&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.instantiations.com/Google%20Web%20Toolkit%20Designer"&gt;Google Web Toolkit Designer&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/webtoolkit/"&gt;Google Web Toolkit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;AJAX Application Models&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="https://www.xicommunity.ca/"&gt;https://www.xicommunity.ca&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Other Great Real World Lists&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a title="The Complete List of Visual Studio Add-Ins and Tools" href="http://www.realsoftwaredevelopment.com/2006/10/the_complete_li_2.html"&gt;The Complete List of Visual Studio Add-Ins and Tools&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="Best of the Best Web 2.0 Web Sites" href="http://www.realsoftwaredevelopment.com/2006/10/best_of_the_bes.html"&gt;Best of the Best Web 2.0 Web Sites&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="The Complete List of CSS Tools" href="http://www.realsoftwaredevelopment.com/2006/10/the_complete_li.html"&gt;The Complete List of CSS Tools&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="The Complete List of Great Free TV Web Sites on the Internet" href="http://www.miguelcarrasco.net/miguelcarrasco/2006/05/watch_tv_for_fr_1.html"&gt;The Complete List of Great Free TV Web Sites on the Internet&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-406460252527294510?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/406460252527294510/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=406460252527294510&amp;isPopup=true' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/406460252527294510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/406460252527294510'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-complete-list-of-ajax-tools.html' title='Ajax工具列表--The Complete List of Ajax Tools'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-7389462464641221668</id><published>2007-05-22T16:41:00.000+08:00</published><updated>2007-05-23T02:02:35.205+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cms'/><title type='text'>Ajax Cms--SilverStripe</title><content type='html'>&lt;span dragover="true" id="sub_center_5"&gt;&lt;a dragover="true" href="http://www.silverstripe.com/" target="_blank"&gt;SilverStripe&lt;/a&gt; 是一个基于php的开源cms,&lt;/span&gt;&lt;span id="sub_center_5"&gt;来自新西兰.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span id="sub_center_5"&gt;后台采用&lt;/span&gt;&lt;span id="sub_center_5"&gt;Prototype, Scriptaculous 和 TinyMCE 文字编辑,全ajax界面,试用了一下&lt;a href="http://demo.silverstripe.com/"&gt;demo&lt;/a&gt; 还有&lt;a href="http://demo.silverstripe.com/admin/"&gt;admin&lt;/a&gt;&lt;br /&gt;("admin","password"),全ajax界面用起来果然很舒服,基本不用刷新就可以完成页面内容发布和文件管理,自由更换模板和模块,是个很不错的cms,也是至今我见过最ajax的cms.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kenzone/509145091/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/216/509145091_0173e65cc9_o.jpg" alt="kenzone3" height="346" width="560" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-7389462464641221668?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/7389462464641221668/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=7389462464641221668&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7389462464641221668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7389462464641221668'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-cms-silverstripe.html' title='Ajax Cms--SilverStripe'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-6634011856687304780</id><published>2007-05-22T16:06:00.000+08:00</published><updated>2007-05-28T01:31:59.496+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><title type='text'>Comeeko--在线恶搞图片</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kenzone/509083162/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/214/509083162_7da67b8086_o.jpg" alt="kenzone1" height="68" width="209" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.comeeko.com/"&gt;Comeeko&lt;/a&gt; 是一个在线恶搞图片的功能性网站,操作简单,可惜不支持中文.&lt;br /&gt;&lt;br /&gt;&lt;span id="sub_center_0"&gt;制作Comeeko的应该是制作&lt;a dragover="true" href="http://www.buttonator.com/" target="_blank"&gt;Buttonator&lt;/a&gt; 和 &lt;a dragover="true" href="http://www.pikipimp.com/" target="_blank"&gt;PikiPimp&lt;/a&gt; 的原班人马.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kenzone/509106919/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/213/509106919_e756074782_o.png" alt="comeeko1" height="207" width="501" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-6634011856687304780?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/6634011856687304780/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=6634011856687304780&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6634011856687304780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6634011856687304780'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/comeeko.html' title='Comeeko--在线恶搞图片'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-4266292860216393736</id><published>2007-05-22T13:16:00.000+08:00</published><updated>2007-05-28T01:32:38.649+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><title type='text'>Moo image Gallery--ajax画廊</title><content type='html'>&lt;span id="sub_center_0"&gt;Asad Sheth结合&lt;/span&gt;&lt;span id="sub_center_0"&gt;Prototype 和 Moo.fx 编写了只有&lt;/span&gt;&lt;span id="sub_center_0"&gt;&lt;a dragover="true" href="http://s202250659.onlinehome.us/galeria/scripts/image_canvas.js" target="_blank"&gt; 182行代码&lt;/a&gt; 的&lt;/span&gt;&lt;span id="sub_center_0"&gt; &lt;a dragover="true" href="http://s202250659.onlinehome.us/galeria/" target="_blank"&gt;image gallery&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.flickr.com/photos/kenzone/508967093/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/208/508967093_f5b588959e_o.jpg" alt="kenzone1" height="438" width="637" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-4266292860216393736?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/4266292860216393736/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=4266292860216393736&amp;isPopup=true' title='4 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4266292860216393736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4266292860216393736'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/moo-image-gallery-ajax.html' title='Moo image Gallery--ajax画廊'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-5274037401187843359</id><published>2007-05-21T22:51:00.000+08:00</published><updated>2007-05-28T01:33:28.494+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog杂趣-Blog stuff'/><title type='text'>商业搜索引擎:Masterseek</title><content type='html'>&lt;a href="http://www.masterseek.com/" onclick="submitIframeBlogId1228OppId5('1')" target="_blank"&gt;&lt;img src="http://farm1.static.flickr.com/217/507777798_7654f9ca6a_o.jpg" alt="kenzone2" height="221" width="230" /&gt;&lt;/a&gt;&lt;br /&gt;注意：本文是付费评论。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.masterseek.com/" onclick="submitIframeBlogId1228OppId5('1')" target="_blank"&gt;masterseek&lt;/a&gt;是一家提供企业信息搜索的网站。&lt;br /&gt;&lt;br /&gt;    通过&lt;a href="http://www.masterseek.com/" onclick="submitIframeBlogId1228OppId5('1')" target="_blank"&gt;masterseek&lt;/a&gt;的全球搜索引擎可以免费且快速的从75个国家4千万个公司的资料中找到您需要的产品信息和联系信息。 &lt;br /&gt;&lt;br /&gt;     您也可以在自己的国家或世界范围内寻找商业合作伙伴, 销售的机遇和新的渠道来拓展业务,增加贵公司的盈利能力. 注册后，您可以将自己公司的信息发布到&lt;a href="http://www.masterseek.com/" onclick="submitIframeBlogId1228OppId5('1')" target="_blank"&gt;masterseek&lt;/a&gt;上，向世界展示您的企业。&lt;script type="text/javascript"&gt;function submitIframeBlogId1228OppId5(linkId){document.getElementById("iframeBloggerwaveBlogId1228OppId5").src="http://www.bloggerwave.com/ClickTrack.aspx?OpportunityId=5&amp;BlogId=1228&amp;LinkId="   linkId;}&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-5274037401187843359?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/5274037401187843359/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=5274037401187843359&amp;isPopup=true' title='4 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/5274037401187843359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/5274037401187843359'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/masterseek.html' title='商业搜索引擎:Masterseek'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-6833187508459256075</id><published>2007-05-21T20:36:00.000+08:00</published><updated>2007-05-28T01:33:24.124+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog杂趣-Blog stuff'/><title type='text'>Bloggerwave - 博客赚钱的又一新站</title><content type='html'>&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;&lt;img src="http://farm1.static.flickr.com/225/507640605_ca0ecc88df_o.jpg" alt="kenzone1" height="453" width="677" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;  今天给大家介绍个类似于ReviewMe的博客盈利网站&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;，如果你苦于博客没能为您创收，那么&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;将是您不错的选择.&lt;br /&gt;&lt;br /&gt;  想要加入&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;首先需要您准备好您的一个贝宝账户和一个博客地址，这可是前提条件。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;注册比较简单,简单填好关于你blog的资料还有一个有效的Email地址就申请完毕了,如果没有问题的话,在一天内就可以收到&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;发来的受理Email,到这里,申请就通过了.&lt;br /&gt;然后登录&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;就可以选择要评论的内容,现在可能还在测试阶段,可以选择的内容不多,价格最高的就是写一篇评论&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;的文章$10,所以这篇就是一个付款评论.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  值得注意的是每个"任务"都有详细的要求,有的需要添加代码,有的要求内容是褒的或者褒贬都可,并要求在指定日期前发布.还有就是&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;只支持Paypal.&lt;br /&gt;有兴趣的大家可以去尝试一下:&lt;a href="http://www.bloggerwave.com/" onclick="submitIframeBlogId1228OppId4('1')" target="_blank"&gt;Bloggerwave&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;function submitIframeBlogId1228OppId4(linkId){document.getElementById("iframeBloggerwaveBlogId1228OppId4").src="http://www.bloggerwave.com/ClickTrack.aspx?OpportunityId=4&amp;BlogId=1228&amp;LinkId="   linkId;}&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-6833187508459256075?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/6833187508459256075/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=6833187508459256075&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6833187508459256075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6833187508459256075'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/bloggerwave.html' title='Bloggerwave - 博客赚钱的又一新站'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-8375478811565150649</id><published>2007-05-21T00:32:00.000+08:00</published><updated>2007-05-28T01:33:58.973+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='杂趣--fun stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='flickr'/><title type='text'>Flickr dog is dead.Flickr登录页面的狗过世了</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://us.i1.yimg.com/us.yimg.com/i/ww/news/2007/05/18/the_dog.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://us.i1.yimg.com/us.yimg.com/i/ww/news/2007/05/18/the_dog.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;官方还写了一篇&lt;a href="http://blog.flickr.com/flickrblog/2007/05/the_dog_is_dead.html"&gt;blog&lt;/a&gt;怀念一下&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-8375478811565150649?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/8375478811565150649/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=8375478811565150649&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8375478811565150649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8375478811565150649'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/flickr-dog-is-deadflickr.html' title='Flickr dog is dead.Flickr登录页面的狗过世了'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-96553345260078173</id><published>2007-05-20T15:30:00.000+08:00</published><updated>2007-05-28T01:35:04.525+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax教程--tutorials'/><title type='text'>简单比较 xajax、AJASON、flxAJAX、AjaxAC</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;p&gt;PHP AJAX 除了廣為人知的 &lt;a href="http://www.modernmethod.com/sajax/"&gt;SAJAX&lt;/a&gt;、&lt;a href="http://jpspan.sourceforge.net/"&gt;JPSPAN&lt;/a&gt; (原名為ScriptServer) 之外，&lt;a href="http://sourceforge.net/"&gt;Sourceforge&lt;/a&gt; 近期可下載的 PHP AJAX 又多了 &lt;a href="http://xajax.sourceforge.net/"&gt;xajax&lt;/a&gt; 、&lt;a href="http://sven-jacobs.de/wiki/AJASON"&gt;AJASON&lt;/a&gt;、&lt;a href="http://tripdown.de/flxajax/"&gt;flxAJAX&lt;/a&gt;、&lt;a href="http://ajax.zervaas.com.au/"&gt;AjaxAC&lt;/a&gt;。&lt;/p&gt;  &lt;a name="more"&gt;&lt;/a&gt; &lt;p&gt;這些都有供乘法範例程式&lt;span style="color: rgb(172, 172, 172);"&gt;(好像變成 AJAX 的 Hello world!)&lt;/span&gt; ，雖然乘法範例只能當參考，但至少可看出大致的架構。&lt;/p&gt;  &lt;p&gt;&lt;b&gt;[xajax]&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://xajax.sourceforge.net/"&gt;xajax&lt;/a&gt;&lt;!--&lt;br /&gt; 這幾個在 Sourceforge 中活動程度最高的 &lt;a href="http://xajax.sourceforge.net"&gt;xajax&lt;/a&gt; (13.24%)--&gt; 最大的特色是支援 UTF-8 及 &lt;a href="http://smarty.php.net/"&gt;Smarty&lt;/a&gt;。而且 xajax 連網站都是 AJAX，乘法範例請直接到&lt;a href="http://xajax.sourceforge.net/"&gt;網站&lt;/a&gt;的 Example 看。&lt;span style="color: rgb(172, 172, 172);"&gt;&lt;br /&gt;(連線太慢時可能會導致 Javascript 載入不完全，以致於網站無法換頁)&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;在乘法範例中可以看出最大的特色是 client 端不用自己寫 callback。client 端送出運算請求給 Server 端後，Server 端可以直接把運算結果傳送到網頁元素上。&lt;br /&gt;&lt;!--&lt;br /&gt; 另外 &lt;a href="http://xajax.sourceforge.net/thewall.php"&gt;Graffiti Wall&lt;/a&gt; 這個有趣的範例，可以貼 UTF-8 的中文字上去看看。&lt;br /&gt; --&gt;&lt;br /&gt;至於 Smarty 支援的部份，因為 Client 端只需一行 $xajax-&gt;printJavascript(); 就可以產生 AJAX 所需的 Javascript，所以應該大部份的 Template engine 也都支援。&lt;/p&gt;  &lt;p&gt;&lt;b&gt;[AJASON]&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sven-jacobs.de/wiki/AJASON"&gt;AJASON&lt;/a&gt; 只能在 PHP 5 的環境執行，網站上提供的範例寫的相當清楚，&lt;a href="http://ajason.sven-jacobs.de/examples/multiply/multiply.php"&gt;乘法範例&lt;/a&gt;中提供了 function 、class 二種不同的使用方式，另外還有錯誤處理展示。至於經典的&lt;a href="http://ajason.sven-jacobs.de/examples/autocomplete/autocomplete.php"&gt;autocomplete&lt;/a&gt; 也值得一看。&lt;/p&gt;  &lt;p&gt;&lt;b&gt;[Flexible Ajax]&lt;/b&gt; (flxajax)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tripdown.de/flxajax/"&gt;flxajax&lt;/a&gt; 主要是以 PHP5 寫的，有另外提供 PHP 4 的版本。範例只有提供&lt;a href="http://tripdown.de/flexible_ajax_example.php"&gt;乘法&lt;/a&gt;範例可看，而且 client 端的程式碼切的不如前二者完整。&lt;/p&gt;  &lt;p&gt;&lt;b&gt;[AjaxAC]&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://ajax.zervaas.com.au/"&gt;AjaxAC&lt;/a&gt; 提供了&lt;a href="http://ajax.zervaas.com.au/examples/ArithmeJax/"&gt;四則運算&lt;/a&gt;的 範例。看過原始碼後發現邏輯相當的亂，Client 端還要寫程式告知哪些網頁元素要當成 widgets 才能交由 Server 端控制。而 Server 端竟然還有 Javascript Code (Callback)，雖然看起來 event 部份規畫的很好，但是前後端的邏輯根本完全混在一起，實在太遜了。&lt;br /&gt;&lt;!--&lt;br /&gt; 但是它最有名的範例 &lt;a href="http://ajax.zervaas.com.au/examples/GoogleSuggestCloneJax/"&gt;Google Suggest&lt;/a&gt; 倒可以參考一下。&lt;br /&gt; --&gt;&lt;br /&gt;&lt;b&gt;總結:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;以乘法範例比較起來，我個人比較偏好 xajax ，最主要原因是邏輯跟畫面分的相當清楚。(當然 UTF-8 也是原因之一)&lt;/p&gt;  &lt;p&gt;xajax 讓 Server 端程式握有的網頁元素有絕對的主控權，在架構程式時可以很清楚的把邏輯完全放在 Server 端，Client 端只要負責正確的顯示畫面及傳送請求，這也是寫 ASP.Net 程式時所使用的方式。&lt;/p&gt;  &lt;p&gt;在這幾種 PHP AJAX 之中，xajax 比 flxajax、AjaxAC 更有資格稱為 Framework，可是 xajax 在 Sourceforge 上也只自稱為 library:&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;xajax is an open source PHP class library that allows you to easily create powerful, web-based, Ajax applications using HTML, CSS, JavaScript, and PHP that can asynchronously call server-side PHP functions and update content without reloading the page.&lt;/p&gt;&lt;/blockquote&gt;  &lt;p&gt;目前 xajax 採用 LGPL 授權，版本為 0.1 beta4 ，也期待正式版本的推出。&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.neo.com.tw/archives/000670.html"&gt;觉得不错就转过来,原文&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-96553345260078173?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/96553345260078173/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=96553345260078173&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/96553345260078173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/96553345260078173'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/xajaxajasonflxajaxajaxac.html' title='简单比较 xajax、AJASON、flxAJAX、AjaxAC'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-2210893037841243906</id><published>2007-05-20T15:22:00.000+08:00</published><updated>2007-05-28T01:35:47.623+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax教程--tutorials'/><title type='text'>什么是Ajax--what is Ajax</title><content type='html'>&lt;div class="content"&gt; &lt;p&gt;&lt;span class="90V"&gt;&lt;/span&gt;&lt;span class="90V"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;Ajax的定义&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;Ajax不是一个技术，它实际上是几种技术，每种技术都有其独特这处，合在一起就成了一个功能强大的新技术。Ajax包括：&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="font-size:100%;"&gt;&lt;li&gt;XHTML和CSS  &lt;/li&gt;&lt;li&gt;使用文档对象模型(Document Object Model)作动态显示和交互  &lt;/li&gt;&lt;li&gt;使用XML和XSLT做数据交互和操作  &lt;/li&gt;&lt;li&gt;使用XMLHttpRequest进行异步数据接收  &lt;/li&gt;&lt;li&gt;使用JavaScript将它们绑定在一起 &lt;/li&gt;&lt;/span&gt;&lt;/ul&gt; &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;传统的web应用模型工作起来就象这样：大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。服务器完成一些处理—接收数据，处理计算，再访问其它的数据库系统，最后返回一个HTML页面到客户端。这是一个老套的模式，自采用超文本作为web使用以来，一直都这样用,  但看过《The Elements of User Experience》的读者一定知道，是什么限制了Web界面没有桌面软件那么好用。&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;这种旧的途径让我们认识到了许多技术，但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候，用户在做什么？没错，等待。每一个动作，用户都要等待。&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;很明显，如果我们按桌面程序的思维设计Web应用，我们不愿意让用户总是等待。当界面加载后，为什么还要让用户每次再花一半的时间从服务取数据？实际上，为什么老是让用户看到程序去服务器取数据呢？  Ajax如何不同凡响&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;通过在用户和服务器之间引入一个Ajax引擎，可以消除Web的开始－停止－开始－停止这样的交互过程.  它就像增加了一层机制到程序中，使它响应更灵敏，而它的确做到了这一点。&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;不像加载一个页面一样，在会话的开始，浏览器加载了一个Ajax引擎—采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互－－不用等待服务器的通讯。所以用户再不不用打开一个空白窗口，看到等待光标不断的转，等待服务器完成后再响应。&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 2em;"&gt;&lt;span style="font-size:100%;"&gt;通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替.  任何用户动作的响应不再要求直接传到服务器—例如简单的数据校验，内存中的数据编辑，甚至一些页面导航—引擎自己就可以处理它.  如果引擎需要从服务器取数据来响应用户动作—假设它提交需要处理的数据，载入另外的界面代码，或者接收新的数据—引擎让这些工作异步进行，通常使用XML,  不用再担误用户界面的交互。&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-2210893037841243906?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/2210893037841243906/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=2210893037841243906&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2210893037841243906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2210893037841243906'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-what-is-ajax.html' title='什么是Ajax--what is Ajax'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-1987702180504194496</id><published>2007-05-20T15:12:00.000+08:00</published><updated>2007-05-28T01:37:35.674+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax新闻--news'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax框架--Frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='Prototype'/><title type='text'>Prototype 1.5.1_rc3 released更新</title><content type='html'>&lt;p&gt;Here's what's new:&lt;/p&gt;  &lt;h4&gt;Bug fixes&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;code&gt;Element.addMethods&lt;/code&gt; now again adds the methods to Element. &lt;a href="http://dev.rubyonrails.org/ticket/7888"&gt;[#7888]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;Form.request&lt;/code&gt; also works with forms containing an input element with &lt;code&gt;name="action"&lt;/code&gt;.  &lt;a href="http://dev.rubyonrails.org/ticket/8063"&gt;[#8063]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Safari no longer crashes on &lt;code&gt;String#stripScripts&lt;/code&gt; and &lt;code&gt;extractScripts&lt;/code&gt; with large &lt;code&gt;&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;code&gt;Form.disable&lt;/code&gt; works again on non-form elements. &lt;a href="http://dev.rubyonrails.org/ticket/6887"&gt;[#6887]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;String#endsWith&lt;/code&gt; now always returns the correct value.  &lt;a href="http://dev.rubyonrails.org/ticket/7822"&gt;[#7822]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Ajax responses with no Content-type header are no longer evaluated. &lt;a href="http://dev.rubyonrails.org/ticket/7827"&gt;[#7827]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;Hash#toQueryString&lt;/code&gt; again serializes undefined values to ensure consitency with &lt;code&gt;String#toQueryParams&lt;/code&gt;. &lt;a href="http://dev.rubyonrails.org/ticket/7806"&gt;[#7806]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Various fixes of the &lt;code&gt;$$()&lt;/code&gt; utility. &lt;a href="http://dev.rubyonrails.org/ticket/7873"&gt;[#7873]&lt;/a&gt;, &lt;a href="http://dev.rubyonrails.org/ticket/7901"&gt;[#7901]&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;h4&gt;Enhancements&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;Ajax.Requests now supports per-request &lt;code&gt;onCreate&lt;/code&gt; callbacks. &lt;a href="http://dev.rubyonrails.org/ticket/8011"&gt;[#8011]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;JSON strings are automatically stripped of their security delimiters (if present) before &lt;code&gt;eval&lt;/code&gt;.  More details on this security issue &lt;a href="http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf"&gt;here (PDF document)&lt;/a&gt;. &lt;a href="http://dev.rubyonrails.org/ticket/7910"&gt;[#7910]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;all &lt;code&gt;toJSON&lt;/code&gt; methods now generate YAML-loadable JSON.  &lt;a href="http://dev.rubyonrails.org/ticket/7883"&gt;[#7883]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;Event.element&lt;/code&gt; now returns an extended element. &lt;a href="http://dev.rubyonrails.org/ticket/7870"&gt;[#7870]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Linefeed normalisation is now prevented in IE on &lt;code&gt;String#escapeHTML&lt;/code&gt; and &lt;code&gt;String#unescapeHTML&lt;/code&gt; for consistency with other browsers.&lt;/li&gt;&lt;li&gt;Added a new &lt;code&gt;Element.childElements&lt;/code&gt; method (shorter alias of &lt;code&gt;Element.immediateDescendants&lt;/code&gt;).&lt;/li&gt;&lt;li&gt;Added a new &lt;code&gt;Element.firstDescendant&lt;/code&gt; method (same as using &lt;code&gt;Element.down&lt;/code&gt; with no arguments).&lt;/li&gt;&lt;/ul&gt;  &lt;h4&gt;Performance&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;Faster &lt;code&gt;$$()&lt;/code&gt; utility and &lt;code&gt;Element.getElemementsBySelector&lt;/code&gt; method. &lt;a href="http://dev.rubyonrails.org/ticket/7873"&gt;[#7873]&lt;/a&gt;, &lt;a href="http://dev.rubyonrails.org/ticket/7901"&gt;[#7901]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Optimized &lt;code&gt;Element.next&lt;/code&gt;, &lt;code&gt;Element.down&lt;/code&gt;, &lt;code&gt;Element.up&lt;/code&gt; and &lt;code&gt;Element.previous&lt;/code&gt; DOM methods. &lt;a href="http://dev.rubyonrails.org/ticket/7848"&gt;[#7848]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Speed improvements of &lt;code&gt;String#escapeHTML&lt;/code&gt; and &lt;code&gt;String#unescapeHTML&lt;/code&gt; in IE and Safari.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;You can also &lt;a href="http://dev.rubyonrails.org/browser/spinoffs/prototype/tags/rel_1-5-1_rc3/CHANGELOG?rev=6603&amp;amp;format=raw"&gt;view the full changelog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If all goes well, this will be the last release candidate before 1.5.1 final, so we're counting on your zealous testing and bug reporting.&lt;/p&gt;&lt;p&gt;我就不翻译了.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;官方下载&lt;a href="http://prototypejs.org/assets/2007/4/24/prototype.js"&gt;Download Prototype 1.5.1_rc3&lt;/a&gt;.| &lt;a href="http://groups.google.com/group/allajax/web/prototype.js"&gt;本站下载&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-1987702180504194496?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/1987702180504194496/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=1987702180504194496&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1987702180504194496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1987702180504194496'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/prototype-151-released.html' title='Prototype 1.5.1_rc3 released更新'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-8464500438393480365</id><published>2007-05-20T14:41:00.000+08:00</published><updated>2007-05-28T01:36:25.946+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><title type='text'>ajax域名查询工具--AjaxUtils</title><content type='html'>&lt;a href="http://www.ajaxutils.com/" title="AjaxUtils"&gt;&lt;img src="http://farm1.static.flickr.com/228/505468843_25be1b0f58_o.jpg" alt="kenzone1" height="390" width="666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;  功能包括域名信息查询,域名注册情况,域名DNS查询,ip地址转换,ping网站.全ajax设计,都在同一页面生成结果,特别要说的是支持中国的.cn域名信息查询.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ajaxutils.com/"&gt;点击进入ajaxutils.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-8464500438393480365?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/8464500438393480365/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=8464500438393480365&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8464500438393480365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8464500438393480365'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-ajaxutils.html' title='ajax域名查询工具--AjaxUtils'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-4349945882675306047</id><published>2007-05-20T14:10:00.000+08:00</published><updated>2007-05-28T01:36:40.584+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google Analytics(流量统计)新版视频介绍--analytics tour video</title><content type='html'>&lt;a href="http://services.google.com/analytics/tour/index_zh-CN.html" title="google analytics"&gt;&lt;img src="http://farm1.static.flickr.com/216/505448059_f0decaceec_o.jpg" alt="kenzone1" height="253" width="679" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://services.google.com/analytics/tour/index_zh-CN.html" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/213/505419936_1a2439cc3d_o.jpg" alt="kenzone2" height="485" width="527" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; 全面介绍google analytics新版本的强大功能,使用方法,英文界面,中文字幕,介绍的很全面,我也心动装了一个.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://services.google.com/analytics/tour/index_zh-CN.html"&gt;视频链接&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-4349945882675306047?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/4349945882675306047/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=4349945882675306047&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4349945882675306047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4349945882675306047'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/google-analytics-analytics-tour-video.html' title='Google Analytics(流量统计)新版视频介绍--analytics tour video'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-1353972016851533643</id><published>2007-05-20T06:14:00.000+08:00</published><updated>2007-05-28T01:38:18.457+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='网页设计--webdesign'/><title type='text'>The Web Designers Tool Kit--网页设计工具汇总</title><content type='html'>&lt;a href="http://www.dezinerfolio.com/2007/04/22/the-web-designers-tool-kit/"&gt;VIA&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;h1&gt;DHTML AJAX Javascript&lt;/h1&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.roscripts.com/index.php" target="_blank" title="RO Scripts"&gt;RO Scripts&lt;/a&gt; - Growing Collection of Scripts under various categories&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/roscripts.gif" alt="ro scripts" height="72" width="222" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.hotscripts.com/JavaScript/Scripts_and_Programs/" target="_blank" title="HOT Scripts"&gt;HOT Scripts&lt;/a&gt; - Huge collection of Scripts under various categories.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/hotscripts.gif" alt="hot scripts" height="95" width="205" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dhtmlgoodies.com/" target="_blank" title="dhtml goodies"&gt;DHTML Goodies&lt;/a&gt; - Easy and Nice DHTML and AJAX scripts with cool examples.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/dhtmlgoodies.gif" alt="dhtml goodies" height="99" width="332" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dhtmlsite.com/ajax.php" target="_blank" title="dhtml site"&gt;DHTML Site&lt;/a&gt; - Extremely cool collection of very useful scripts.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/dhtmlsite.gif" alt="dhtml site" height="126" width="174" /&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;&lt;li&gt; &lt;h1&gt;AJAX Frameworks and JS Effects&lt;/h1&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://moofx.mad4milk.net/"&gt;moo.fx&lt;/a&gt; - a &lt;em&gt;superlightweight&lt;/em&gt;, &lt;em&gt;ultratiny&lt;/em&gt;, &lt;em&gt;megasmall&lt;/em&gt; javascript effects library, to be used with &lt;a href="http://prototype.conio.net/"&gt;prototype.js&lt;/a&gt; or the &lt;a href="http://mootools.net/"&gt;mootools framework&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/moofx.gif" alt="moo.fx" height="74" width="169" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://script.aculo.us/" target="_blank" title="script.aculo.us"&gt;script.aculo.us&lt;/a&gt; - easy-to-use, cross-browser user&lt;br /&gt;interface JavaScript libraries to make&lt;br /&gt;your web sites and web applications fly.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/scriptalicius.gif" alt="script aculo us" height="83" width="274" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mad4milk.net/" target="_blank" title="mad for milk"&gt;MAD 4 Milk&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/mad4milk.gif" alt="mad 4 milk" height="91" width="274" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://mootools.net/" target="_blank" title="moo tools"&gt;Moo Tools&lt;/a&gt; - Compact, Modular, Object-Oriented javascript framework&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/mootools.gif" alt="moo tools" height="82" width="223" /&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; &lt;h1&gt;Free Icons&lt;/h1&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.yellowicon.com/" target="_blank" title="yellow icon"&gt;Yellow Icon&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/yellowicon.gif" alt="yellow icon" height="99" width="202" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://fasticon.com/" target="_blank" title="fast icon"&gt;Fast Icon&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/fasticon.gif" alt="fast icon" height="57" width="173" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://iconfactory.com/home" target="_blank" title="icon factory"&gt;Icon Factory&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/iconfactory.gif" alt="icon factory" height="71" width="279" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.iconarchive.com/" target="_blank" title="icon archive"&gt;Icon Archive&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/iconarchive.gif" alt="icon archive" height="80" width="274" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dreamplay.dk/icon/" target="_blank" title="icon finder"&gt;Icon Finder&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/inconfinder.gif" alt="icon finder" height="64" width="196" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.iconkits.com/" target="_blank" title="icon kits"&gt;Icon Kits&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/iconkits.gif" alt="icon kits" height="83" width="273" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.iconbuffet.com/" target="_blank" title="icon buffet"&gt;Icon Buffet&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/iconbuffet.gif" alt="icon buffet" height="118" width="200" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.maxpower.ca/free-icons/2006/03/05/" target="_blank" title="max power"&gt;Max Power&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/maxpower.gif" alt="max power" height="62" width="300" /&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; &lt;h1&gt;Color Tools&lt;/h1&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://colorschemer.com/" target="_blank" title="color schemer"&gt;Color Schemer&lt;/a&gt; - Professional color matching application for anyone from hobbyists to advanced professionals.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/colorschemer.gif" alt="color schemer" height="111" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.colourlovers.com/" target="_blank" title="color lovers"&gt;Color Lovers&lt;/a&gt; - A resource that monitors and influences color trends&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/colorlovers.gif" alt="color lovers" height="63" width="234" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.colorwhore.com/" target="_blank" title="color whore"&gt;Color Whore&lt;/a&gt; - A directory of nice colors&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/colorwhore.gif" alt="color whore" height="64" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.colorjack.com/"&gt;Color Jack&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/colorjack.gif" alt="color jack" height="66" width="155" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://beta.dailycolorscheme.com/%20-"&gt;Daily Color Scheme&lt;/a&gt; - Daily fresh color schemes&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/dailycolorscheme.gif" alt="daily color schemes" height="37" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://colorblender.com/"&gt;Color Blender&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/colorblender.gif" alt="color blender" height="69" width="307" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://wellstyled.com/tools/colorscheme2/index-en.html" target="_blank" title="well styled"&gt;Well Styled&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/wellstyled.gif" alt="well styled" height="145" width="250" /&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; &lt;h1&gt;Other Online Resources&lt;/h1&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://jigsaw.w3.org/css-validator/" target="_blank" title="css validator"&gt;CSS Validator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/w3c.gif" alt="w3c xhtml validator" height="47" width="72" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.napyfab.com/ajax-indicators/" target="_blank" title="napyfab"&gt;Napyfab&lt;/a&gt; - Ajax Activity Indicators ( loading animations )&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/napyfab.gif" alt="napy fab" height="66" width="349" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://validator.w3.org/" target="_blank" title="xhtml calidator"&gt;XHTML Validator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/w3c.gif" alt="w3c xhtml validator" height="47" width="72" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.danvine.com/icapture/" target="_blank" title="icapture"&gt;iCapture&lt;/a&gt; - Test ( screenshot ) your web site on different operating systems.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/icapture.gif" alt="icpature" height="85" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.seomoz.org/crawl-test"&gt;SEO Moz&lt;/a&gt; - Quickly diagnose search engine crawling issues on your website.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/seomoz.gif" alt="seo moz" height="67" width="251" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://riddle.pl/emcalc/" target="_blank" title="EM Calculator"&gt;EM Calculato&lt;/a&gt; - Convert em to px and px to em&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/emcalc.gif" alt="em calculator" height="33" width="160" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cleancss.com/" target="_blank" title="Clean CSS"&gt;Clean CSS &lt;/a&gt;- CSS Formatter and Optimiser&lt;a href="http://www.cleancss.com/" target="_blank" title="Clean CSS"&gt; &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/cleancss.gif" alt="clean css" height="69" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.csstype.com/" target="_blank" title="Css Typography"&gt;CSS Type&lt;/a&gt; - web safe typography on screen for pixel perfectionists&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/csstype.gif" alt="css type" height="70" width="258" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/codesearch" target="_blank" title="google code search"&gt;Google Code Search&lt;/a&gt; - &lt;strong&gt;Search public source code.&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/codesearch.gif" alt="google code search" height="103" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://browsershots.org/" target="_blank" title="browsershots"&gt;Browser Shots&lt;/a&gt; - Test your web design in different browsers&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/browsershots.gif" alt="browsershots" height="54" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.onlinemetatag.com/" target="_blank" title="online meta tags"&gt;Meta Tag Generator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/onlinemeta.gif" alt="meta tag generator" height="48" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.makewords.com/" target="_blank" title="make words"&gt;Make Words&lt;/a&gt; - Name Generator. Find unique names and register available domains&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/makewords.gif" alt="make words" height="58" width="271" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.rorweb.com/rormap.htm" target="_blank" title="ror sitemap generator"&gt;ROR Sitemap Generator&lt;/a&gt; - This free tool will crawl your website and generate a Sitemap with up to 1,000 URLs for ALL search engines, not just Google.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/rorsitemap.gif" alt="sitemap generator" height="51" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.wangz.net/cgi-bin/pp/gsqlparser/sqlpp/sqlformat.tpl" target="_blank" title="instant sql formatter "&gt;Instant SQL Formatter&lt;/a&gt; - Instant SQL Formatter&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/sqlonline.gif" alt="sql online" height="60" width="120" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.fonttester.com/" target="_blank" title="font tester"&gt;Font Tester&lt;/a&gt; - Font Tester is a free online font comparison tool&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/fonttester.gif" alt="font tester" height="66" width="200" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.polldaddy.com/" target="_blank" title="poll daddy"&gt;Poll Daddy&lt;/a&gt; -&lt;br /&gt;Create free polls anywhere online&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/polldaddy.gif" alt="poll daddy" height="66" width="225" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.stripegenerator.com/" target="_blank" title="stripe generator"&gt;Stripe Generator&lt;/a&gt; - The ultimate tool for Web 2.0 Designers&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/stripegen.gif" alt="stripe generator" height="63" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.smashingmagazine.com/"&gt;Smashing Magazine &lt;/a&gt;- Very useful Tips, Resources and Web Development based stuff.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/smashingmag.gif" alt="smashing magazine" height="67" width="219" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.bittbox.com/"&gt;Bittbox&lt;/a&gt; - Lots of free Design Resources&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/bittbox.gif" alt="bittbox" height="75" width="200" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.zamzar.com/"&gt;Zamar&lt;/a&gt; - Have you ever wanted to convert files without the need to download software ?&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/zamar.gif" alt="zamar" height="53" width="229" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cssfly.net/" target="_blank" title="css fly online editor"&gt;CSS Fly&lt;/a&gt; - Online CSS Editor&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/cssfly.gif" alt="css fly" height="105" width="245" /&gt;&lt;/p&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; &lt;h1&gt;Free Fonts&lt;/h1&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.urbanfonts.com/free-fonts.htm" target="_blank" title="urban fonts"&gt;Urban Fonts&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/urbanfonts.gif" alt="urban fonts" height="64" width="258" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.fontreactor.com/" target="_blank" title="font reactor"&gt;Font Reactor&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/fontreactor.gif" alt="font reactor" height="36" width="264" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dafont.com/" target="_blank" title="dafont"&gt;DaFont&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/dafont.gif" alt="da font" height="131" width="122" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.searchfreefonts.com/" target="_blank" title="search free fonts"&gt;Search Free Fonts&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/searchfreefonts.gif" alt="search free fonts" height="35" width="250" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.1001fonts.com/" target="_blank" title="1001 fonts"&gt;1001 Fonts&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/1001fonts.gif" alt="1001 fonts" height="75" width="200" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://fontleech.com/" target="_blank" title="font leech"&gt;Font Leech&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/04/fontleech.gif" alt="font leech" height="65" width="200" /&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt; &lt;h1&gt;Site Stats&lt;/h1&gt; &lt;ul&gt;&lt;li&gt;  &lt;a href="http://google.com/analytics"&gt;Google Analytics &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/google_analytics.gif" alt="google analytics" /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.crazyegg.com/"&gt;Crazy Egg &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.crazyegg.com/" title="crazy egg" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/crazyegg.gif" alt="crazy egg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.feedburner.com/"&gt;Feedburner&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.feedburner.com/" title="feed burner" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/feedburner.gif" alt="feed burner" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.reinvigorate.net/"&gt;reinvogorate&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.reinvigorate.net/" title="reinvigorate" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/reinvigorate.gif" alt="reinvigorate" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.measuremap.com/"&gt;measuremap&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.measuremap.com/" title="measure map" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/measuremap.gif" alt="measure map" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://w3counter.com/"&gt;W3 Counter&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://w3counter.com/" title="w3 counter" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/w3counter.gif" alt="w3 counter" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://awstats.sourceforge.net/"&gt;AW Stats &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://awstats.sourceforge.net/" title="aw stats" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/awstats.png" alt="aw stats" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://mybloglog.com/"&gt;MyBlogLog&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://mybloglog.com/" title="my blog log" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/mybloglog.gif" alt="my blog log" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.websidestory.com/"&gt;WebSideStory&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.websidestory.com/" title="web side story" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/web-site-directory.gif" alt="web site story" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sitemeter.com/"&gt;Sitemeter&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.sitemeter.com/" title="site meter" target="_blank"&gt;&lt;img src="http://www.dezinerfolio.com/wp-content/uploads/2007/03/sitemeter.gif" alt="sitemeter" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-1353972016851533643?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/1353972016851533643/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=1353972016851533643&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1353972016851533643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/1353972016851533643'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/web-designers-tool-kit.html' title='The Web Designers Tool Kit--网页设计工具汇总'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-4523809177311596326</id><published>2007-05-20T06:05:00.000+08:00</published><updated>2007-05-28T01:38:40.712+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='网页设计--webdesign'/><title type='text'>14个令网页打开更快的规则--14 rules for fast web pages</title><content type='html'>&lt;blockquote&gt; &lt;ol&gt;&lt;li&gt;Make fewer HTTP requests &lt;/li&gt;&lt;li&gt;Use a CDN &lt;/li&gt;&lt;li&gt;Add an Expires header &lt;/li&gt;&lt;li&gt;Gzip components &lt;/li&gt;&lt;li&gt;Put CSS at the top &lt;/li&gt;&lt;li&gt;Move JS to the bottom &lt;/li&gt;&lt;li&gt;Avoid CSS expressions &lt;/li&gt;&lt;li&gt;Make JS and CSS external &lt;/li&gt;&lt;li&gt;Reduce DNS lookups &lt;/li&gt;&lt;li&gt;Minify JS &lt;/li&gt;&lt;li&gt;Avoid redirects &lt;/li&gt;&lt;li&gt;Remove duplicate scripts &lt;/li&gt;&lt;li&gt;Turn off ETags &lt;/li&gt;&lt;li&gt;Make AJAX cacheable and small &lt;/li&gt;&lt;/ol&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-4523809177311596326?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/4523809177311596326/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=4523809177311596326&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4523809177311596326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/4523809177311596326'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/14-14-rules-for-fast-web-pages.html' title='14个令网页打开更快的规则--14 rules for fast web pages'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-6435708905324799532</id><published>2007-05-20T05:57:00.001+08:00</published><updated>2007-05-28T01:39:12.042+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><title type='text'>ajax社会化在线音乐分享站--Spool.fm</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kenzone/504929906/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/206/504929906_6b1f15873d_o.jpg" alt="kenzone5" height="188" width="684" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spool.fm/"&gt;Spool.Fm&lt;/a&gt; 是一个社会化在线音乐分享站,现在还是beta阶段.搜索,播放和分享都在同一个页面,全ajax设计,有很好用户体验,还有个特色功能是,当用户注册后,提供一个网址,可以和用户的朋友实时分享自己在听的歌曲.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-6435708905324799532?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/6435708905324799532/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=6435708905324799532&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6435708905324799532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/6435708905324799532'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-spoolfm.html' title='ajax社会化在线音乐分享站--Spool.fm'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-7867138732681942156</id><published>2007-05-20T03:04:00.000+08:00</published><updated>2007-05-28T01:41:09.717+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax效果--Effect'/><title type='text'>ajax窗口效果--prototype-window</title><content type='html'>&lt;a href="http://www.flickr.com/photos/kenzone/504765955/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/194/504765955_78fa6b4e1a_o.jpg" alt="kenzone3" height="240" width="616" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://prototype-window.xilinus.com/samples.html"&gt;点击查看demo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://prototype-window.xilinus.com/index.html"&gt;prototype-window&lt;/a&gt; 窗口效果库通过在html代码里添加2个js文件,就可以使用页内弹出窗口的效果,可以节省页面空间,使用很方便.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-7867138732681942156?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/7867138732681942156/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=7867138732681942156&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7867138732681942156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7867138732681942156'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-prototype-window.html' title='ajax窗口效果--prototype-window'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-3553092008527894652</id><published>2007-05-20T02:31:00.000+08:00</published><updated>2007-05-28T01:41:57.098+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax效果--Effect'/><title type='text'>独立的ajax效果库--Nomadic Functions</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_7TgWPhCXzYk/Rk9GIg-GlbI/AAAAAAAAA6w/TBQxcXfyg4E/s1600-h/kenzone5.jpg"&gt;&lt;img style="cursor: pointer; width: 591px; height: 201px;" src="http://bp1.blogger.com/_7TgWPhCXzYk/Rk9GIg-GlbI/AAAAAAAAA6w/TBQxcXfyg4E/s400/kenzone5.jpg" alt="" id="BLOGGER_PHOTO_ID_5066345217918408114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;一般比较出名的ajax效果库如:&lt;a href="http://www.prototypejs.org/"&gt;Prototype&lt;/a&gt;,&lt;a href="http://script.aculo.us/"&gt;Scriptaculous&lt;/a&gt;,Yahoo UI,动不动就几十K上百K,一般网站通常都没有使用里面全部的效果,就算是MooFX只有2K大小,里面也有多余的代码.&lt;br /&gt;&lt;a href="http://www.nofunc.com/"&gt;Nomadic Functions&lt;/a&gt;这个站收集了一些常用的ajax效果代码,一个效果一段代码,绝对没有多余浪费加载时间.&lt;br /&gt;收集了如:&lt;a href="http://www.nofunc.com/AJAX_Star_Rating/"&gt;AJAX Star Rating  &lt;/a&gt;(ajax星级评分),&lt;a href="http://www.nofunc.com/Drag_Drop/"&gt;Drag &amp;amp; Drop&lt;/a&gt; (拖动效果),都非常的精简.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-3553092008527894652?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/3553092008527894652/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=3553092008527894652&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/3553092008527894652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/3553092008527894652'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-nomadic-functions.html' title='独立的ajax效果库--Nomadic Functions'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_7TgWPhCXzYk/Rk9GIg-GlbI/AAAAAAAAA6w/TBQxcXfyg4E/s72-c/kenzone5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-7016078133807451624</id><published>2007-05-20T02:19:00.001+08:00</published><updated>2007-05-28T01:42:53.492+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='网页设计--webdesign'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><title type='text'>在线制作斜纹背景图案--StripeGenerator</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_7TgWPhCXzYk/Rk8_2w-GlaI/AAAAAAAAA6k/848Ppf7DoNM/s1600-h/kenzone4.jpg"&gt;&lt;img style="cursor: pointer; width: 604px; height: 289px;" src="http://bp2.blogger.com/_7TgWPhCXzYk/Rk8_2w-GlaI/AAAAAAAAA6k/848Ppf7DoNM/s400/kenzone4.jpg" alt="" id="BLOGGER_PHOTO_ID_5066338315905963426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;可以选择斜纹的颜色和宽度,阴影,倾斜的方向,在线生成png格式的图片,可作为网站背景.&lt;br /&gt;PS:这个blog标题的背景也是在那里做的.&lt;br /&gt;&lt;a href="http://www.stripegenerator.com/"&gt;点击进入StripeGenerator&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-7016078133807451624?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/7016078133807451624/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=7016078133807451624&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7016078133807451624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/7016078133807451624'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/stripegenerator.html' title='在线制作斜纹背景图案--StripeGenerator'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_7TgWPhCXzYk/Rk8_2w-GlaI/AAAAAAAAA6k/848Ppf7DoNM/s72-c/kenzone4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-2406559096317517820</id><published>2007-05-20T01:57:00.000+08:00</published><updated>2007-05-28T01:44:03.928+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax框架--Frameworks'/><title type='text'>国产ajax框架--JsEasy</title><content type='html'>&lt;h2&gt;JsEasy是什么?&lt;/h2&gt;  &lt;p&gt;&lt;br /&gt;   JsEasy是辅助您进行Ajax开发的开源javascript+Css库.&lt;/p&gt;  &lt;p&gt;它提供了一系列的扩展,让您的Ajax开发变得简洁,优雅,高效.&lt;/p&gt;  &lt;p&gt;与其他一些类似库相比,JsEasy显得更为轻巧,高效,在这个讲究用户体验的年代,每减少一秒钟的等待就意味着多一分成功的可能.&lt;/p&gt;  &lt;p&gt;同时JsEasy把Javascript和Css相结合,在提供Javascript脚本的同时,也提供了各式各样的Css Skin(皮肤),为你制作个性化的Web提供了充分可能.你所需要做的就是为每个用户生成一个他所喜好的Css文件,Just Easy.&lt;/p&gt;  &lt;p&gt;除 此之外,JsEasy也是一个易于扩展的库.您可以方便的写出自己的JsEasy插件,并于他人分享.事实上,JsEasy的作者也鼓励你这么做.与他人 分享的好处是显而易见的:免费的Bug报告,专业的改进建议,无偿的宣传团队,热情的Fans.什么?你还没有女朋友:)&lt;/p&gt;  &lt;p&gt;JsEasy作者认为HTML,Javascript,CSS三者好比人的思想,举止和相貌.三者泾渭分明,又浑然一体.而JsEasy为您提供了大家风范的谈吐,傲视群雄的身材,就等待您那国士无双的思考了.&lt;/p&gt;  &lt;p&gt;Joy Is Easy -- JuSt Easy.(快乐很简单--真的很简单).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-2406559096317517820?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://545at.com/htm/jseasy.htm' title='国产ajax框架--JsEasy'/><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/2406559096317517820/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=2406559096317517820&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2406559096317517820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/2406559096317517820'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/ajax-jseasy.html' title='国产ajax框架--JsEasy'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8165280434484492454.post-8898989035681236413</id><published>2007-05-20T01:36:00.000+08:00</published><updated>2007-05-28T01:45:37.210+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax应用--Applications'/><title type='text'>25个ajax应用</title><content type='html'>&lt;p&gt;&lt;a dragover="true" href="http://tool-man.org/examples/sorting.html"&gt;Drag &amp;amp; Drop Sortable Lists with JavaScript and CSS&lt;/a&gt; - In Web applications I’ve seen numerous — and personally implemented  a few — ways to rearrange items in a list. &lt;/p&gt; &lt;p&gt;&lt;a href="http://tool-man.org/examples/sorting.html"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/128.jpg" alt="128.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p dragover="true"&gt;&lt;a dragover="true" href="http://today.java.net/pub/a/today/2006/02/09/file-uploads-with-ajax-and-jsf.html"&gt;Better File Uploads with AJAX&lt;/a&gt; - Browser-based file uploads, in particular those involving the HTML &lt;input type="”file”"&gt; tag, have always been rather lacking. As I am sure most of you are aware, uploading files exceeding 10MB often causes a very poor user experience.&lt;/p&gt; &lt;p&gt; &lt;a href="http://today.java.net/pub/a/today/2006/02/09/file-uploads-with-ajax-and-jsf.html"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/220.jpg" alt="220.jpg" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;hr class="split"&gt; &lt;p&gt;&lt;a href="http://www.jambor-ee.com/features/entry/expression-engine-and-ajax/"&gt;Expression Engine and Ajax&lt;/a&gt; - How you can replace certain content through a user click without the need for a page refresh.&lt;/p&gt; &lt;p&gt;  &lt;a href="http://www.jambor-ee.com/features/entry/expression-engine-and-ajax/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/313.jpg" alt="313.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.ajaxlessons.com/2006/02/19/ajax-workshop-3-shopping-cart-using-scriptaculous/"&gt; Shopping Cart using Script.aculo.us &lt;/a&gt; - This workshop we will be building a shopping cart that’s Ajax powered. This will be a drag and drop shopping cart using the Script.aculo.us JavaScript library. We will also be using PHP on the back end to store the user’s shopping cart in sessions. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.ajaxlessons.com/2006/02/19/ajax-workshop-3-shopping-cart-using-scriptaculous/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/413.jpg" alt="413.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.commoncoder.com/tutorials/ajax-newsletter-signup-tutorial.asp"&gt;AJAX Newsletter Sign-Up Tutorial&lt;/a&gt; - This tutorial will demonstrate how to create a newsletter sign-up section which uses ajax. &lt;/p&gt;  &lt;p&gt;  &lt;a href="http://www.commoncoder.com/tutorials/ajax-newsletter-signup-tutorial.asp"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/513.jpg" alt="513.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt; &lt;a href="http://www.devarticles.com/c/a/XML/Take-AJAX-to-Your-Email-Inbox-Developing-a-Webbased-POP-3-Client/"&gt;Developing a Web-based POP 3 Client&lt;/a&gt; - In this article, the first of three parts, you will start creating a simple web-based POP 3 client using AJAX, which will use “XMLHttpRequest” objects to retrieve messages from a mail server. &lt;p&gt;&lt;a href="http://www.devarticles.com/c/a/XML/Take-AJAX-to-Your-Email-Inbox-Developing-a-Webbased-POP-3-Client/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/611.jpg" alt="611.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.mgroves.com/blog_archive.php?blogID=245"&gt;AJAX username availability checking&lt;/a&gt; - The goal of this AJAX example is to allow a user who is registering for your site to see if the username they want to use is taken already or not&lt;/p&gt; &lt;p&gt;  &lt;a href="http://www.mgroves.com/blog_archive.php?blogID=245"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/78.jpg" alt="78.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://ajax.phpmagazine.net/2005/11/ajax_rss_reader_step_by_step_t.html"&gt;AJAX RSS Reader&lt;/a&gt; - This &lt;acronym title="Asynchronous Javascript And XML"&gt;AJAX&lt;/acronym&gt; reader is written in Javascript only, it just request a backend url on the same server then display the feed resulted&lt;/p&gt; &lt;p&gt;  &lt;a href="http://ajax.phpmagazine.net/2005/11/ajax_rss_reader_step_by_step_t.html"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/811.jpg" alt="811.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.maxkiesler.com/index.php/weblog/comments/make_an_ajax_website_in_less_than_10_minutes/"&gt;Make an AJAX Website in Less than 10 Minutes&lt;/a&gt; - I’ve been toying around with AJAX apps and XMLHttpRequest but have wanted to put up a site that loads all of its content asynchronously. If you’re like me and you learn best from working with examples you’re only 10 minutes away from your first AJAX website. &lt;/p&gt;  &lt;p&gt;  &lt;a href="http://www.maxkiesler.com/index.php/weblog/comments/make_an_ajax_website_in_less_than_10_minutes/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/97.jpg" alt="97.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://orderedlist.com/articles/howto-animated-live-search/"&gt; Animated Live Search&lt;/a&gt; - I’ve been meaning for some time to give a little tutorial on the live search I created for this latest design. There are a few steps involved, and I’ll do my best to explain each as we go&lt;/p&gt; &lt;p&gt;. &lt;a href="http://orderedlist.com/articles/howto-animated-live-search/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/106.jpg" alt="106.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://codinginparadise.org/weblog/2005/08/ajax-creating-huge-bookmarklets.html"&gt;AJAX: Creating Huge Bookmarklets&lt;/a&gt; - A bookmarklet is a special piece of JavaScript code that can be dragged into a user’s link toolbar, and which later can be clicked on to implement cross-site behavior&lt;/p&gt; &lt;p&gt;. &lt;a href="http://codinginparadise.org/weblog/2005/08/ajax-creating-huge-bookmarklets.html"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/1113.jpg" alt="1113.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax_dynamicArticles"&gt; Dynamically Loaded Articles&lt;/a&gt;&lt;/p&gt; &lt;p&gt;    &lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax_dynamicArticles"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/129.jpg" alt="129.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://asymptomatic.net/2006/04/13/2311/building-a-shelf-in-wordpress/"&gt;Slide out Shelf &lt;/a&gt;- Maybe you’ve noticed it on my site, and maybe not because my design is purposefully inconspicuous. There is a small tab just under the masthead on the right side that says “More Stuff”. When you click on it, a large area slides open with a bunch of information on it. This is the “shelf”. &lt;/p&gt; &lt;p&gt;&lt;a href="http://asymptomatic.net/2006/04/13/2311/building-a-shelf-in-wordpress/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/135.jpg" alt="135.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://ajax.phpmagazine.net/2006/04/howto_integrate_google_calenda.html"&gt;Integrate Google Calendar in your website using AJAX &lt;/a&gt;- One of the features I find it interesting in Google calendar is the possibility to create shared calendars, but also the availability of your calendar as XML or ICAL whatever it’s a private or public one. As soon as we have XML of our calendar available I was wondering why not integrating Google calendar directly in website. &lt;/p&gt;  &lt;p&gt;  &lt;a href="http://ajax.phpmagazine.net/2006/04/howto_integrate_google_calenda.html"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/146.jpg" alt="146.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt; &lt;a href="http://www.alistapart.com/articles/gettingstartedwithajax"&gt;Getting Started with Ajax&lt;/a&gt; - The start of 2005 saw the rise of a relatively new technology, dubbed “Ajax” by Jesse James Garrett of Adaptive Path. Ajax stands for Asynchronous JavaScript and XML. &lt;p&gt;&lt;a href="http://www.alistapart.com/articles/gettingstartedwithajax"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/155.jpg" alt="155.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.robertnyman.com/2005/11/13/proudly-presenting-ajax-s/"&gt;Ajax Slideshow&lt;/a&gt; - I’ve been thinking about creating an AJAX-based slideshow for a while, and today it happened! Today I wrote my first line of code in this project (probably not the last one), but for the moment I feel very content with the results. &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.robertnyman.com/2005/11/13/proudly-presenting-ajax-s/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/164.jpg" alt="164.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax-poller"&gt;Ajax Poll Script&lt;/a&gt;&lt;/p&gt; &lt;p&gt;    &lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax-poller"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/174.jpg" alt="174.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.giannim.com/blog/index.php?page_id=13"&gt;An AJAX enhancement for WordPress blogs&lt;/a&gt; - AjaxWp is a lightweight JavaScript enhancement that adds AJAX functionality to WordPress blogs speeding up load times, increasing the responsiveness of the user interface and giving the blog an overall cooler look.&lt;/p&gt; &lt;p&gt;  &lt;a href="http://www.giannim.com/blog/index.php?page_id=13"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/184.jpg" alt="184.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://24ways.org/2005/introducing-udasss"&gt;Unobtrusive Degradable Ajax Style Sheet Switcher&lt;/a&gt;&lt;/p&gt; &lt;p&gt;    &lt;a href="http://24ways.org/2005/introducing-udasss"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/194.jpg" alt="194.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.symfony-project.com/askeet/8"&gt; Digg style voting&lt;/a&gt;&lt;/p&gt; &lt;p&gt;    &lt;a href="http://www.symfony-project.com/askeet/8"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/204.jpg" alt="204.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.kryogenix.org/code/browser/sorttable/"&gt; Sortable Tables&lt;/a&gt;&lt;/p&gt; &lt;p&gt;    &lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/2110.jpg" alt="2110.jpg" /&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p dragover="true"&gt;&lt;a dragover="true" href="http://www.funwithjustin.com/ajax-toybox/"&gt;Ajax Toolbox&lt;/a&gt; - Play with Ajax! The toybox is designed to be a showcase for simple Ajax examples and techniques.&lt;/p&gt; &lt;p&gt;  &lt;a href="http://www.funwithjustin.com/ajax-toybox/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/225.jpg" alt="225.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://script.aculo.us/"&gt;Scriptaculous&lt;/a&gt; - script.aculo.us provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly.&lt;/p&gt; &lt;p&gt;  &lt;a href="http://script.aculo.us/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/234.jpg" alt="234.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;hr class="split"&gt;  &lt;p&gt;&lt;a href="http://www.prototypejs.org/"&gt;Prototype&lt;/a&gt; - Prototype is a JavaScript Framework that aims to ease development of dynamic web applications&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.prototypejs.org/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/244.jpg" alt="244.jpg" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;hr class="split"&gt; &lt;p&gt;&lt;a href="http://moofx.mad4milk.net/"&gt;Moo.fx &lt;/a&gt;- moo.fx is a superlightweight, ultratiny, megasmall javascript effects library, to be used with prototype.js or the mootools framework&lt;/p&gt; &lt;p&gt;  &lt;a href="http://moofx.mad4milk.net/"&gt;&lt;img src="http://tutorialblog.org/wp-content/uploads/2007/03/253.jpg" alt="253.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8165280434484492454-8898989035681236413?l=all-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://all-ajax.blogspot.com/feeds/8898989035681236413/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8165280434484492454&amp;postID=8898989035681236413&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8898989035681236413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8165280434484492454/posts/default/8898989035681236413'/><link rel='alternate' type='text/html' href='http://all-ajax.blogspot.com/2007/05/25ajax.html' title='25个ajax应用'/><author><name>kent</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
