AJAX 案例研究之详细剖析 Gmail 应用
现在提起 AJAX,大家都立刻会想起 Gmail、gogle map 这几个经典的 AJAX 应用。Gmail 的优良表现我
们都看过了,那么它的实现你研究过了吗?它怎么在几个不同的浏览器上可以一致的实现 xml 异步调用
的呢?一起来看看吧。
首先,登录 gmail 以后我们会先进入这个页面:
<html><head><meta
content="text/html;
charset=UTF-8" http-equiv="content-type">
<title>Gmail</title><link rel="alternate"
type="application/atom+xml"
title="Gmail Atom Feed"
href="feed/atom" /><script src="?
view=page&name=browser&ver=c0d3d44c64799453">
</script></head><noscript>
<font face=arial>
这是主框架网页兼浏览器检测页。如果浏览器通过了检测(支持 javascript、cookie 和 xml 控件)则在
页面上写一段框架代码。要注意到的是 google 在这里耍了一个小花招,那个叫做 main 的框架页面里面
看来没有多少东西,好东东都在那个叫 js 的框架里面呢。
我们接着把这个 js 框架拉出来看看:整整 1500 多行的 javascript 代码!这个页面有 240 多 k,几乎全
都是 javascript 代码。其实其中大部分都是老生常谈的 js 代码了,不过我们可以一窥 google 的编码风
格:尽可能压缩信息量,变量名能用一个字母的绝不用两个,函数名一概都是两个字母的,函数内的会车
是没有的,缩进也是没有的。
虽然代码没有特地加密,但是如此处理一番之后也就没什么可读性了。还好系统的关键字是不能缩水的,
顺着 xml 控件的名字我们可以揪出来跟 AJAX 异步加载数据相关的几个关键函数:
function vb(){var a=null;
if(r)
评论0