Xml Http Request Object-开发基于WebBrowser无刷新的用户界面。

用了Gmail的都发现,很多操作gmail是不用提交页面的,比如s(star),当你用x选中一个conversion,按下s要标记为star的时候,google根本没有提交整个页面就完成了这项操作,这大大改善了基于Web的用户界面的友好程度。

这里实现的秘密就是Xml Http Request对象。

在gmail的主页面中,有这样两个frameset:

<frameset rows='100%,*' border=0>
  <frame name=main src=/gmail/html/loading.html frameborder=0 noresize scrolling=no>
  <frame name=js src=/gmail?view=page&name=js&ver=7e0ccc547f92bc35 frameborder=0 noresize>
frameset>

[@more@]

第二个frameset名为js,高度为0,可想而知,这应该是这个页面背后使用的所有js脚本。这个脚本下载后发现有250KB之多。这里面有这样一个函数:

function XmlHttpCreate(){
    var xmlhttp=null;
    if(is_ie){
        var control=(is_ie5)?"Microsoft.XMLHTTP":"Msxml2.XMLHTTP";
        try{
            xmlhttp=new ActiveXObject(control);
        }catch(e){
            DumpException(e);
            alert("You need to enable active scripting and activeX controls.");
        }
    }else {
        xmlhttp=new XMLHttpRequest();
        if(!xmlhttp){
            alert("XMLHttpRequest is not supported on this browser.");
        }
    }
    return xmlhttp;
}

啊,就在这里了。这就是有名的Xml HTTP Request对象了,这时候我才发现,这个对象不是gmail自己实现的,而是浏览器原本就支持的。google for it,找到了这样一个页面  Using the XML HTTP Request object 原来这东西2002年就有了,我可真是孤陋啊。

-----http://blog.9zi.com/post/6/268

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/61327/viewspace-794760/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/61327/viewspace-794760/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值