精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
對(duì)Gmail中使用AJAX技術(shù)的研究


<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Gmailtitle>
<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>

  應(yīng)啟用 JavaScript,才能在標(biāo)準(zhǔn)視圖中使用 Gmail。然而,JavaScript 似乎已被禁用,要么就是您的瀏覽器不支持 JavaScript。要使用標(biāo)準(zhǔn)視圖,請(qǐng)更改您的瀏覽器選項(xiàng)以啟用 JavaScript,然后<a href="">重試<a>。<p>要使用 Gmail 的基本 HTML 視圖(不需要 JavaScript),<a href="?ui=html&zy=n">請(qǐng)單擊此處</a>。<p>
</font>
</noscript>
<script>
(編者注:原文如此)
</script>
</html>

  這是主框架網(wǎng)頁(yè)兼瀏覽器檢測(cè)頁(yè)。如果瀏覽器通過(guò)了檢測(cè)(支持javascript、cookie和xml控件)則在頁(yè)面上寫一段框架代碼

  要注意到的是google在這里耍了一個(gè)小花招,那個(gè)叫做main的框架頁(yè)面里面看來(lái)沒(méi)有多少東西,好東東都在那個(gè)叫js的框架里面呢。

  我們接著把這個(gè)js框架拉出來(lái)看看:

  整整1500多行的javascript代碼!

  這個(gè)頁(yè)面有240多k,幾乎全都是javascript代碼。有興趣分析的兄弟姐妹們請(qǐng)點(diǎn)這里下載。

  其實(shí)其中大部分都是老生常談的js代碼了,不過(guò)我們可以一窺google的編碼風(fēng)格:盡可能壓縮信息量,變量名能用一個(gè)字母的絕不用兩個(gè),函數(shù)名一概都是兩個(gè)字母的,函數(shù)內(nèi)的會(huì)車是沒(méi)有的,縮進(jìn)也是沒(méi)有的。雖然代碼沒(méi)有特地加密,但是如此處理一番之后也就沒(méi)什么可讀性了。還好系統(tǒng)的關(guān)鍵字是不能縮水的,順著xml控件的名字我們可以揪出來(lái)跟AJAX異步加載數(shù)據(jù)相關(guān)的幾個(gè)關(guān)鍵函數(shù):

function vb()
{
 var a=null;
 if(r)
 {
  var b=fG?"Microsoft.XMLHTTP":"Msxml2.XMLHTTP";
  try{a=new ActiveXObject(b)}
  catch(c)
  {
   q(c);
   alert("您需要啟用活動(dòng)腳本功能和activeX 控件。")
  }
 }else{
  a=new XMLHttpRequest();
  if(!a){;alert("此瀏覽器不支持 XMLHttpRequest。")}
 }
 return a
}
//emu注釋 構(gòu)造XML控件并返回給調(diào)用者

function ot(a,b){;
 try{
  a.send(b)
 }
 catch(c)
 {
  q(c);
  if(c.number==-2146697208){
   alert("請(qǐng)確保 Internet Explorer 的”語(yǔ)言”設(shè)置部分不是空白。")}
 }
}

//emu注釋 執(zhí)行發(fā)送數(shù)據(jù)操作 a:XML控件 b:要發(fā)送的數(shù)據(jù)

function Wf(a,b,c){
 Da(3);
 b=Ld(b);
 Hf(a,b,c)
}

//emu注釋 a:XML控件 b:訪問(wèn)的url c:回調(diào)函數(shù) Da是驗(yàn)證參數(shù)長(zhǎng)度的函數(shù)
//Ld是一個(gè)url轉(zhuǎn)換加工的函數(shù),主要處理url自帶的CGI參數(shù)和翻頁(yè)的頁(yè)數(shù)等

function Hf(a,b,c){
 Da(3);
 a.onreadystatechange=c;
 a.open("GET",b,true);
 ot(a,null)
}
//emu注釋 不發(fā)送數(shù)據(jù)直接請(qǐng)求資源 a:XML控件 b:訪問(wèn)的url c:回調(diào)函數(shù)

function nt(a,b,c,d){
 Da(4);
 a.onreadystatechange=d;
 a.open("POST",b,true);
 ot(a,c)
}
//emu注釋 發(fā)送數(shù)據(jù)并請(qǐng)求資源 a:XML控件 b:訪問(wèn)的url c:要發(fā)送的數(shù)據(jù) d:回調(diào)函數(shù)

  基本上就這么多了,很失望吧,沒(méi)有什么新鮮的東西。發(fā)送http請(qǐng)求之后它又怎么處理返回的xml的呢?事實(shí)上他沒(méi)有處理。他所處理的僅僅是最基本responseText,而cgi則直接生成js腳本到客戶端回調(diào)(用eval運(yùn)行),或者生成文本信息。這就是為什么gmail可以輕松跨域幾個(gè)瀏覽器了。

  作為最受推崇的一個(gè)AJAX應(yīng)用,卻幾乎沒(méi)有用到xml。像這樣用xml控件來(lái)收發(fā)文本信息后在頁(yè)面上展現(xiàn)的技術(shù),基本上就是現(xiàn)在AJAX最流行的應(yīng)用方式了,不過(guò)這樣也能叫AJAX嗎?我寧可就叫它AJ,最多叫AJAH。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
GWT揭秘
Javascript 在瀏覽器環(huán)境中 (七) XMLHttpRequest
jquery和ajax的關(guān)系詳細(xì)介紹
java視線論壇 :: 閱讀主題 - ajax三言兩語(yǔ)
Ajax:擁抱JSON,讓XML走開
電腦報(bào)AJAX,Web2.0的“特洛伊戰(zhàn)士”
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 弋阳县| 井冈山市| 溆浦县| 望奎县| 莱西市| 安陆市| 麦盖提县| 平利县| 商水县| 博野县| 苍梧县| 博罗县| 哈巴河县| 谷城县| 安溪县| 德阳市| 盘锦市| 乌鲁木齐市| 湘乡市| 克拉玛依市| 卫辉市| 政和县| 鄄城县| 吐鲁番市| 越西县| 葫芦岛市| 武川县| 常宁市| 麦盖提县| 闵行区| 德昌县| 镇远县| 彰化市| 东乌珠穆沁旗| 开远市| 牙克石市| 泌阳县| 苏尼特左旗| 遵化市| 阳江市| 襄汾县|