google suggest 比起gmail要好對付的多了,就一個頁面一個腳本文件,代碼都一目了然,可惜用了google域名,在調的時候經常連接被斷掉,最后還是找了一個代理才調通了代碼。可以在本地運行的google suggest請在這個連接下載:
http://m.tkk7.com/Files/emu/suggest.rar其中的腳本文件ac.js已經做了一點整理,關鍵的qc函數crack了一下,使它可以找到服務器:
function qc(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", new Array("ajax", "ajax amsterdam", "ajax fc", "ajax ontario", "ajax grips", "ajax football club", "ajax public library", "ajax football", "ajax soccer", "ajax pickering transit"), new Array("3,840,000 results", "502,000 results", "710,000 results", "275,000 results", "8,860 results", "573,000 results", "40,500 results", "454,000 results", "437,000 results", "10,700 results"), new Array(""));
剩下的大家都會做了,不多廢話。