您的位置: 首页 / PHP / Ajax 习作:iReader

Ajax 习作:iReader

Published at Oct 4, 11pm / Keywords: , , , ,

iReaderAjax 虽然不是一种什么新技术,但自从 Google 开始广泛采用 Ajax,特别是 Gmail 的成功,将这一曾经不被看好的技术重新时髦起来。当今,使用 Ajax 的网站越来越多,特别是最近各种个人门户类网站、在线即时通信网站,基本上都是以 Ajax 技术为核心的。

Ajax 原理就是通过浏览器的 XMLHTTP 对象(各种浏览器有所不同),通过 Javascript 在不刷新页面的情况下向服务器提交页面信息,接收服务器反馈并呈现的一种技术。Ajax 最大优势就在于“无刷新”。这就意味着我们在提交页面信息时不需要刷新浏览器页面。通过这种方式,可以根据用户的浏览行为,实时变更页面上的信息,提供用户最佳的浏览体验。Gmail 就是一个非常出色的 Ajax 程序,Gmail 借助于浏览器,给我们带来接近传统邮件客户端的体验,离开 Ajax 是很难做到的。

实现 Ajax 的方法很多,大家可以自己 Google 一下。如果用 PHP 的话,开源项目 xajax会大大降低开发工作的负担。xajax 有非常好的跨浏览器支持,据我测试对同时发出的多个 XMLHTTP 请求的处理情况也令人满意。

学习一种技术,实践是最好的方法。题图中就是我的第一个 Ajax 作品:iReader。iReader 是一个在线的 RSS 阅读器。借助于 Ajax 技术,使页面在无刷新的情况下便可以实时读取 RSS Feed 并将其格式化好并呈现给用户。仿照 Gmail,我也做了一个类似“应用软件”的界面,没想到做这个界面还是费了一番周折。纯 CSS 很难实现这种效果,最后还是借助了 Javascript 来实现效果。这个程序存储 Feeds 的文件为 OPML 格式,为此我还写了一个小小的 OPML 解析的类。

值得一提的是,写这个程序我只有很少的代码是自己写的,其余均使用开源代码。Ajax 使用 xajax,RSS 读取和解析使用的是 MagpieRSS。此外我还使用了一个开源的 Tree 控件。写程序的整个过程就像搭积木一样,感觉有点从前用 Visual Basic 写程序的感觉。

最后,提供 iReader 代码的下载:iReader 0.1 Alpha,基于 GNU/GPL 协议发布,演示

ps: 谁能推荐一款国内外的 CPanel 空间?现在用这个太慢了,无语了……

收藏和分享本文 17fav 收藏本文发表您的观点或推荐本文 Loading...

29 Responses

  1. Oct 4, 11pm / LINK / REPLY
    Gravatar

    ajax是个让人兴奋的技术
    某种意义上和“物流管理”很像
    随用随取

  2. bb
    Oct 5, 1am / LINK / REPLY
    Gravatar

    哈哈,以后就用他了,不用lilina了

    我上次告诉你的空间还行吧21windows.com

  3. Oct 5, 3am / LINK / REPLY
    Gravatar

    行啊,老大,这么快又弄出一个好东西啦。iFeed很不赖,不过我有另一个想法,回头咱们可以合计一下。

  4. Oct 5, 11pm / LINK / REPLY
    Gravatar

    to bb:实话说,21windows 不怎么样,目前考虑国外的,不过国外的又不保险,容易被封

  5. Oct 7, 12am / LINK / REPLY
    Gravatar

    我们现在也换到教育网了,连这个空间的速度根本无法忍受了~~ :neutral:

  6. Oct 7, 12am / LINK / REPLY
    Gravatar

    你看看c9t.net的如何~

  7. Oct 7, 8am / LINK / REPLY
    Gravatar

    to tsing:这种不是很正规的服务商我一般都不敢买~

  8. landhi
    Nov 4, 6pm / LINK / REPLY
    Gravatar

    有asp的吗?呵呵

  9. Nov 5, 12am / LINK / REPLY
    Gravatar

    to landhi:除非商业项目我是不会再主动写 ASP 了

  10. 提问
    Nov 28, 11am / LINK / REPLY
    Gravatar

    :sad: 老大请教个问题,这两天我也在试着使用xajax,可是发现在使用$objResponse->addAssign(”output”,”innerHTML”,”您提交的名字是:”.$userName.”");这句时,有中文就会出现javascrip错误。我在window下的配置是xp,apache2.0,php5.0,我把apache的AddDefaultCharset改为:UTF-8,当时用的是UltraEdit编辑,同时修改UltraEdit配置:总是创建新文件类型为UNICODE,这样xajax对中文支持没问题了,可页面中原来的中文字符都乱码了。而且再用UltraEdit编辑的php程序都不能执行了。不知是怎么回事?请指点一二。另外您用什么编辑器编辑php程序呢?如何做到编辑的是UTF-8文件的?

  11. Nov 28, 10pm / LINK / REPLY
    Gravatar

    to 提问:给您回信了,看一下 Email

  12. 提问
    Nov 28, 11pm / LINK / REPLY
    Gravatar

    谢谢,看到了

  13. artlover
    Dec 10, 11am / LINK / REPLY
    Gravatar

    您好!
    我在用xml载入数据时中文会变成乱码,请问如何解决?

  14. Brightman
    Jan 18, 10pm / LINK / REPLY
    Gravatar

    非常棒!
    我运行了一下,左侧的feeds中文是乱码,

    非常高兴如果能认识作者,想请教一些问题

  15. Jan 19, 10am / LINK / REPLY
    Gravatar

    to Brightman:将浏览器的编码设置为 UTF-8 就可以了

  16. Mar 21, 4pm / LINK / REPLY
    Gravatar

    我和上文的老兄遇到基本上一样的问题:
    老大请教个问题,这两天我也在试着使用xajax,可是发现在使用$objResponse->addAssign(”output”,” innerHTML”,”您提交的名字是:”.$userName.””);这句时,有中文就会出现javascrip错误。我在window下的配置是 xp,shttpd,sqlite,php5.12,我用的是zend开发,将php文件保存成utf-8后,字符会变成乱码,但是我怎么也查找不到,sqlite如何设置编码方式,所以我觉得我最好还是

  17. Mar 21, 5pm / LINK / REPLY
    Gravatar

    用gb2312对php文件进行编码,上文的–您提交的名字是:”.$userName.””–这样的编码问题如何解决呀。也就是说返回是gb2312如何让xajax识别出来。

  18. Mar 21, 10pm / LINK / REPLY
    Gravatar

    zto phoenix:在 xajax 中有默认编码的设置,我处理过 utf-8 的东西,似乎没有问题。

  19. Mar 29, 3pm / LINK / REPLY
    Gravatar

    ireader做得很不错!一个人的能力能做到这样很佩服啊。

  20. Mar 29, 11pm / LINK / REPLY
    Gravatar

    啊啊啊!!太棒了!!下来装装看!
    空间推荐你用国内盘古的,正版简体CP哦~

  21. Mar 29, 11pm / LINK / REPLY
    Gravatar

    晕!怎么下载不了了?

  22. Mar 30, 12pm / LINK / REPLY
    Gravatar

    to joe:已经修正链接和演示地址了,再下一下吧。
    我原来用的空间就是盘古,他们只有电信空间,我这边连实在太慢了。现在这个空间速度还可以。谢谢啦

  23. Xzheng
    Apr 1, 10pm / LINK / REPLY
    Gravatar

    我也想和你们合租个http://www.dreamhost.com/的!

  24. Oct 23, 1am
  25. miss
    Dec 17, 1am / LINK / REPLY
    Gravatar

    includes/opml.inc.php
    istef, 我到哪去找這個文件呢?

  26. May 2, 12am / LINK / REPLY
    Gravatar

    本地测试全是opml.inc.php的Undefined index错误

Now, It's your Turn!

BACK TO Article / Comments


收藏 & 分享

Powered by 17fav.com