gmail也有打盹的时候?

Google的服务一向以稳定而著称,但我却看到了gmail在打盹。

刚才打开浏览器,通过Gmail Notifier 插件登录gmail。其实我以前保存了密码,但它却提示我验证失败,于是我输入密码重新登录。一串提示性的文字一闪而过,大意是说我的网速慢之类的。此后本来应该显示熟悉的gmail首页,但是紧接着却出现了白底黑字的javascript代码,还以为是我搞错了,重新打开一个标签登录,依然如此。

gmail source
具体代码如下(为了便于阅读,我删除了其中的空行):

var BrowserSupport_ = {
IsBrowserSupported : function() {
var agt = navigator.userAgent.toLowerCase();
var is_op = (agt.indexOf("opera") != -1);
var is_ie = (agt.indexOf("msie") != -1) && document.all && !is_op;
var is_ie5 = (agt.indexOf("msie 5") != -1) && document.all && !is_op;
var is_mac = (agt.indexOf("mac") != -1);
var is_gk = (agt.indexOf("gecko") != -1);
var is_sf = (agt.indexOf("safari") != -1);
if (is_ie && !is_op && !is_mac) {
if (agt.indexOf("palmsource") != -1 ||
agt.indexOf("regking") != -1 ||
agt.indexOf("windows ce") != -1 ||
agt.indexOf("j2me") != -1 ||
agt.indexOf("avantgo") != -1 ||
agt.indexOf(" stb") != -1)  {
return false;
}
var v = BrowserSupport_.GetFollowingFloat(agt, "msie ");
if (v != null) {
return (v >= 5.5);
}
}
if (is_gk && !is_sf) {
var v = BrowserSupport_.GetFollowingFloat(agt, "rv:");
if (v != null) {
return (v >= 1.4);
} else {
v = BrowserSupport_.GetFollowingFloat(agt, "galeon/");
if (v != null) {
return (v >= 1.3);
}
}
}
if (is_sf) {
if (agt.indexOf("rv:3.14.15.92.65") != -1) {
return false;
}
var v = BrowserSupport_.GetFollowingFloat(agt, "applewebkit/");
if (v != null) {
return (v >= 312);
}
}
if (is_op) {
if (agt.indexOf("sony/com1") != -1) {
return false;
}
var v = BrowserSupport_.GetFollowingFloat(agt, "opera ");
if (v == null) {
v = BrowserSupport_.GetFollowingFloat(agt, "opera/");
}
if (v != null) {
return (v >= 8.0);
}
}
if (agt.indexOf("pda; sony/com2") != -1) {
return true;
}
return false;
},
GetFollowingFloat : function(str, pfx) {
var i = str.indexOf(pfx);
if (i != -1) {
var v = parseFloat(str.substring(i + pfx.length));
if (!isNaN(v)) {
return v;
}
}
return null;
},
tz_path : ';path=/'
};
if (window.location.href.toLowerCase().indexOf('google.com') > 0) {
BrowserSupport_.tz_path += ';domain=.google.com';
}
document.cookie = "TZ=" + (new Date()).getTimezoneOffset() +
BrowserSupport_.tz_path;
var is_browser_supported = BrowserSupport_.IsBrowserSupported();

仔细看了一下页面上的代码,主要是对域名、时区以及浏览器的兼容性做判断的。值得一提的是它还对pda、sony/com2、safari以及opera等客户端作了专门的判断。

用工具查看页面的http信息,如下:

Etag: "hyuaanj8ksp6"
Last-Modified: Fri, 05 Sep 2003 02:11:15 GMT
Content-Type: text/javascript; charset=UTF-8
Cache-Control: private
Expires: Fri, 21 Dec 2007 15:12:16 GMT
Content-Encoding: gzip
Content-Length: 684
Server: GFE/1.3
Date: Sat, 01 Dec 2007 15:12:16 GMT

200 OK

与此同时,我访问了google提供的企业邮局,则显示正常。

发表评论