AJAX – 老酒有了新瓶子

为了在客齐集上面改一个小东西,晚上忽然突发奇想,作了点尝试,花了大约1个小时的时间,写了点号称是AJAX的东东。简单的来说,就是让任何人可以在我的页面上帮我加批注。尝试一下拿鼠标选中一段文字(最好是一小段)看看。如果不出意外的话,应该有红色的下划线的标注,如果重新刷新一下页面的话,应该还在。为了让界面不是太乱,所以只保留了最新的几个批注。之前的先不显示了。

其实,这个应用是个简单得不能再简单的JavaScript应用,只不过被冠以了AJAX这个今年2月份才诞生的名词以后忽然热了起来。AJAX这一个单词,居然可以把一堆98年就开始用的技术推到前台来,成为当今在特定的圈子里最热的词汇,倒是一个典型的tipping point(临界点)的案例。就像99年Netcenter用的RSS终于在2002年开始被从blogger捡起来,并在2005年焕发了青春。

这些用Javascript+XMLHTTPRequest的做法给我们提供了一个很广阔的空间,可以有很多的想象。比如,在任何静态的页面里面,只要加入这段代码也就可以拥有这个功能了。

<script language=Javascript src=”http://home.wangjianshuo.com/scripts/php/markit.php”>
</script>

把鼠标放在上面还可以知道是从哪个IP在什么时间批注的。值得注意的是,这只是一个最简单的SAJAX应用,如果把它应用于地图,以及应用于多个网站之间的联合,会有更让人惊讶的结果出来。估计,以后客齐集的后台的管理系统将会是最早使用这些简单但是有效的思想的地方。

注:那些红线,只是在Word里面随手画的。
注二:没有经过测试,FireFox下面什么样子不晓得,放在其他页面怎么样也不晓得。。


更新: 把这个演示的功能去掉了。

<script language=Javascript src=”http://home.wangjianshuo.com/scripts/php/markit.php?i”></script>

《AJAX – 老酒有了新瓶子》上的86个想法

  1. hi 建硕大哥 看你的blog有段光景了 由于只看不写的这个坏习惯 导致现在才给你写第一次留言
    很喜欢客齐集 看好它 也祝你们成功 同样我也是个创业者 不过我可没你这么有名 哈哈 创业肯定有辛酸和幸福 很愿意和你交流一些看法想法 顺便指教我一二 有空跟我聊聊吧 不要对我不理不睬 呵呵 qq:54104884 msn:david520cn@163.com

  2. hehe…

    诚如你言,Firefox下面是不工作的

    只能显示、不能加标记

  3. 一下划了好几个,我在想,如果后一个人在别人划过的基础上再选择一下,结果呢?谁的IP?哦,尝试一下,看到了,是多条细线。有意思

  4. XMLHttpRequest并不是W3C规定的标准技术,在不同的浏览器上,创建XMLHttpRequest对象的方式也不同。

  5. 兄弟是不是半夜写的,估计累得都睁不开眼睛了,太多的错别字了,都是输入法惹的祸。

  6. 我的一个同学在深圳,我有一次谈到wangjianshuo blog,他告诉我,你不知道吗,wangjianshuo的BLOG很有名的.他也知道.

    我是在上海工作.偶尔看这个BLOG.认为很好.特别是English的部分.
    祝你的blog越办越好.

  7. AJAX is good example, it is even a Cool technology, once it is focus changed to User Experience, it is popular…

    ps, the sample is cool…

  8. 技术是不错的,但是还有若干bug:
    一、不能换行
    二、不能重叠选择
    三、如果是选择的字符串有多个,则会画到第一次出现的地方,比如选择“一”

  9. 怎么可以认为new ActiveXObject(“Microsoft.XMLHTTP”);这样的代码可以在Firefox里面运行呢?
    XMLHTTP是有跨平台的写法的。
    Microsoft开头的无法跨平台。

    另外我发现http://home.wangjianshuo.com/cn/,现在在IE里无法显示了,很是奇怪啊。Safari和Firefox也不可以。

  10. 今天早上在另外一个blog上也看到类似应用,(可惜在公司,忘记地址了),不知道是否也是用这里的代码。很实用很创意的一个交互工具,实在太强了。

  11. Microsoft.XMLHTTP 和 Msxml2.XMLHTTP是只有在IE里面才可以用的,但是XMLHttpRequest 是Mozilla 和 Apple的Safari浏览器缺省支持的,所以可以安全的说,在IE, FireFox和Safari里面是兼容的,但是它的兼容性显然没有纯HTML好.这是实现这种兼容性的代码:

    function sajax_init_object() {
    sajax_debug(“sajax_init_object() called..”)

    var A;
    try {
    A=new ActiveXObject(“Msxml2.XMLHTTP”);
    } catch (e) {
    try {
    A=new ActiveXObject(“Microsoft.XMLHTTP”);
    } catch (oc) {
    A=null;
    }
    }
    if(!A && typeof XMLHttpRequest != “undefined”)
    A = new XMLHttpRequest();
    if (!A)
    sajax_debug(“Could not create connection object.”);
    return A;
    }

  12. xmlhttp,这个词已经听了N遍了,我这里还有上海的一场讲座,就是讲它的好处的,以及无刷新技术~~~~看完这个,决定好好研究一下

  13. 东拉西扯:产业链

    并不是只有微软、Google才有能力打造产业链,合作、分享、友善,是每个人都能做到的,关键看你是否能摆得正心态。

  14. 建硕大哥,提个意见:建议把“客齐集”改名成“客集集”。
    第一:齐集 虽然有意思但实在拗口,我总也记不住是“集齐”还是“齐集”,像我这样多次见到这个名字的都记不住相信很多停一辆次的肯定会弄昏。
    第二:“客集集”和 kijiji 比较像,容易记住。

  15. firefox 也支持。只是语法不同

    function createRequestObject(){
    var request_o;
    var browser = navigator.appName;
    if(browser == “Microsoft Internet Explorer”){
    request_o = new ActiveXObject(“Microsoft.XMLHTTP”);
    }else{
    request_o = new XMLHttpRequest();
    }
    return request_o;
    }

  16. BlogBBS ,多谢了,关于改名,这。。。。

    hhq, 其实,只是FireFox对onmouseup的事件好像不相应的样子,而对于XMLHTTPRequest的支持是很好的,要不然也不会出现可以看,但是不能画的事情了。

  17. 看王大哥的blog有段时间了,确实值得看。
    我提个意见:把你的超链接在新窗口打开吧

  18. 好,让我慢慢改过来吧。

    提这个意见的人很多了,我以前还是很不喜欢超链接在新窗口打开,现在看到,还是这样做比较顺应民意。。。

  19. TrackBack URL for this entry: http://www.donews.net/yimao/archive/2005/06/28/446480.aspx

    整理一下Gmail的工具
    另外,前两天看到了王建硕Blog上关于AJAX的介绍,感觉这个功能如果用
    在Gmaill里也不错,如果对方邮件地址同在Gmail下,就可以使用特别的
    批注功能,如果顺便还能加入手写板输入功能那就更好了,微软的电子墨
    水技术也会大有用武之地。

  20. 我自认为自己不是技术派,因为我觉得任何技术是用来解决问题的,不论新技术还是旧技术如果不能解决你面临的最重要的、最根本的问题,那么采用它就没有必要。作为一项应用,如果用户是因为不明白或者不喜欢这个应用,即使你把这个应用做的再好用、再易用我想用户仍然不会去使用它,因为你没有解决根本问题。
    http://bulaoge.com/topic.asp?dmn=york&tid=4080

  21. 有人说的不出现, 是因为查找字符方式的原因, 一些单字常用字, 有可能前面已经出现了, 所以在比较后面MARK字的时候, 只在前面MARK了~~~

  22. 你的这个代码我看了一下,其实是有个BUG的。。。是因为你的字符串搜索方式决定的。。。
    本人也并不认为AJAX是一个如何高超的东东,其实我在不知道这个名词之前已经开始使用了它。
    虽然觉得在用户体验上可以比较好,但是仍然存在一些问题,比如:跨域名的问题。
    XMLHttpRequest不可以加载不同域名下的XML数据源。
    欢迎与我交流:
    QQ 3994086
    加我请说明技术交流,一般陌生人我会拒。。。。

  23. 大家有兴趣可以到http://www.bindows.net/去看看,
    三年前我就在一个项目中以这种技术开发RichClient,但是三个月以后,我们最后还是不得不放弃.
    因为速度太慢了,js的资源无法释放..

  24. 很老东西了,做的最好的是 Equill,不过后来被m$收购了,当时的推出概念是 GroupWare 群件,基于Internet的协作。当然了,人家是做了个ActiveX,还有浏览器的底栏,可以放置工具条。
    所以支持标注、圈阅、便签和抓图功能,圈阅可以在页面上手绘,支持4种颜色和线条粗细。
    当年我还是很仔细的分析过这种技术实现,不过现在网上很已经找不到了,如果有兴趣可以访问他们的网站
    http://www.e-quill.com

  25. 非常不错的功能
    ^_^
    我平时就有用鼠标刮字来看的习惯,这次我的眼睛倒是有点招罪了~~
    哈哈

  26. 哎,也只是在很浅的层面上解决了小部分问题,并没有从根上改变现今B/S的缺点!

  27. 在正文里选择一个“有”字,结果会在标题的“有”字下面划线。

  28. 类似ajax的异步交互的技术早有公司做了,好像做了4年了,算是比较成熟了,在www.bstek.com在线演示可以看到,不过好像要被老美收购了,唉。

  29. 一个严重的bug,我选择正文“注意”的意字,他把标题种的意字标记了,只认识第一个。

  30. 说的很好,不经意间的念头在经过人们整理归纳以后都将是一场革命。

  31. 有一点意外,在判断方面,比如选定页面中的某个字符,结果加下划线的是整个页面里第一个相同的字符

  32. bug.
    一段文字如果有很多相同的字的话,比如上面有个”不”,下面也有”不”,那我划下面的”不”就会跑到上面那个”不”。

  33. 按耐不住的我和AJAX

    有个成语叫做“才华洋溢”,是用来描述聪明的人的。我不是聪明的人,想了很久也没有想到一个成语来描述自己。在Tim Horton‘s里面坐了一下午,又在办公室坐到现在。人是好好坐着,但是…

  34. 东。简单的来说,就是让任何人可以在我的页面上帮我加批注。尝试一下拿鼠标选中一段文字(最好是一小段)看看。如果不出意外的话,应该有红色的下划线的标注,如果重新刷新一下页面的话,应该还在。为了让界面不是太乱,所以只保留了最新的几个批注。之前的先不显示了。

    其实,这个应用是个简单得不能再简单的JavaScript应用,只不过被冠以了AJAX这个今年2月份才诞生的名词以后忽然热了起来。AJAX这一个单词,居然可以把一堆98年就开始用的技术推到前台来,成为当今在特定的圈子里最热的词汇,倒是一个典型的tipping point(临界点)的案例。就像99年Netcenter用的RSS终于在2002年开始被从blogger捡起来,并在2005年焕发了青春。

    这些用Javascript+XMLHTTPRequest的做法给我们

  35. Jianshuo,

    Did you move the script “http://home.wangjianshuo.com/scripts/php/markit.php”?

    Why I can’t see your script now? Thanks.

    Brian

  36. opera居然不能发现rss种子?还是这个页面就没有种子?难道只能email定阅么?这可不是好习惯

  37. 不过这里如果我多次选中的话,就会在下面出现多个红色的线条……

发表回复

您的电子邮箱地址不会被公开。