AJAX案例研究之google suggest

來源:互聯網
上載者:User
ajax|google

Google Suggest

Google有個Google Suggest的網站。當人們在搜尋文字框中輸入所要查詢關鍵詞的時候,Google會自動給出一些關鍵詞的建議。從內容上看,它實際上和百度的相關搜尋一樣。不過在介面上卻很不同,百度的相關搜尋時羅列搜尋結果頁面的下方。

而Google的相關搜尋建議確是即時顯示在輸入文字框下,隨著輸入的不同給出的提示也不同。只顯示10條,同時顯示的還有這些關鍵詞搜過結果的數目。

介面的不同帶來的是使用行為的不同。在百度,人們必須先尋找一個,然後才能看到與此相關的關鍵詞,這對網站本身來說能夠增加訪問量,可是對使用者來說卻是繁瑣的事情。Google的Suggest就不同了,在搜尋以前就得到建議。在此功能的協助頁面上,Google指出所提示的關鍵詞並不基於瀏覽器本地的記錄,而是建立在人們搜尋的統計結果的處理上。

AJAX實現google suggest

google suggest 比起gmail要好對付的多了,就一個頁面一個指令檔,代碼都一目瞭然,在調的時候經常串連被斷掉,最後還是找了一個代理才調通了代碼。可以在本地啟動並執行google suggest

請在這個串連下載:http://www.blogjava.net/Files/emu/suggest.rar

其中的指令檔ac.js已經做了一點整理,關鍵的qc函數crack了一下,使它可以找到伺服器:

functionqc(ac){

if(l&&l.readyState!=0){

l.abort()

}

l=vb();

if(l){

l.open("GET","http://www.google.com"+Aa+"&js=true&qu="+ac,true);

l.onreadystatechange=function(){

if(l.readyState==4&&l.responseText){

if(l.responseText.charAt(0)=="<"){

V--

}else{

eval(l.responseText)

}

}

};

l.send(null)

}

}

插個斷點就可以看到,比如我們在輸入框中輸入了“AJAX”,google suggest就向伺服器請求這樣一個資源:

http://www.google.com/complete/search?hl=en&js=true&qu=AJAX 而伺服器則返回:

sendRPCDone(frameElement,"ajax",newArray("ajax","ajaxamsterdam","
ajaxfc","ajaxontario","ajaxgrips","ajaxfootballclub","ajaxpubliclibrary",
"ajaxfootball","ajaxsoccer","ajaxpickeringtransit"),
newArray("3,840,000results","502,000results",
"710,000results","275,000results","8,860results",
"573,000results","40,500results","454,000results",
"437,000results","10,700results"),newArray(""));

剩下的大家都會做了,不多廢話。

推薦:AJAX案例研究之Gmail 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.