乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      google suggest 剖析

       grantbb 2005-07-13

      去年年底,Google推出了一項(xiàng)新的服務(wù)Google Suggest,可以提供和你搜索關(guān)鍵字相關(guān)的關(guān)鍵字建議。目前還只有英文的beta版本,網(wǎng)址在這里:http://www.google.com/webhp?complete=1&hl=en。

      比如我在搜索框中輸入java,效果圖如下:

      提示效果的實(shí)現(xiàn)原理,我們大概可以猜到,很有可能是利用js通過xmlhttp獲得google后臺(tái)整理出來的索引數(shù)據(jù),并動(dòng)態(tài)生成一個(gè)layer或者iframe顯示出來。

      這個(gè)效果具體是怎樣的一個(gè)流程呢?對(duì)google 的技術(shù)的崇拜促使我決心去弄清楚。通過查看該頁源碼,我發(fā)現(xiàn)其加載了一個(gè)腳本 ac.js,下下來一看,一頭霧水,因?yàn)閹缀跛械哪_本都被混淆了,滿眼看到的是與亂碼無異的abcd。經(jīng)過耐心的(我都被自己感動(dòng))抽絲剝繭,基本清楚了套路。

      與我最初的猜測(cè)一致,確實(shí)是通過xmlhttp,js將關(guān)鍵字提交到如下的地址:

      http://www.google.com/complete/search?hl=en&js=true&qu=java

      最后的 qu=java 就是我鍵入的搜索關(guān)鍵字 java。那么google返回的是什么呢?請(qǐng)看:

      sendRPCDone(frameElement, "java", new Array("java", "javascript", "java download", "java games", "java virtual machine", "java script", "java api", "java in a nutshell", "java tutorial", "javanoid"), new Array("132,000,000 results", "42,000,000 results", "14,500,000 results", "7,210,000 results", "2,890,000 results", "4,730,000 results", "3,960,000 results", "452,000 results", "5,320,000 results", "23,400 results"), new Array("")); 

      出乎我的意料,google 沒有返回 xml 數(shù)據(jù),而是直接返回了一段 javascript,這段javascript是執(zhí)行一個(gè)名為 sendRPCDone 的方法,這個(gè)方法其實(shí)早已定義在ac.js中。其后的參數(shù)我想大家都明了了。調(diào)用這個(gè)方法的結(jié)果我們用腳底也可以想到,一定是將數(shù)據(jù)寫入動(dòng)態(tài)產(chǎn)生的iframe中,然后popup。

      讓我感興趣的是,通常js+xmlhttp的應(yīng)用都是傳遞xml格式的數(shù)據(jù),google直接返回javascript的方式,我想它的用意是為了省卻了解析xml的消耗并提高兼容性,畢竟解析DOM是比較消耗內(nèi)存的,而且在各種瀏覽器中處理DOM的語法還沒有完全統(tǒng)一。

      我不禁想到,xmlhttp 這個(gè)名字以xml開頭也許限制了我們的想像,使我們習(xí)慣或者盲目的硬要帶上xml來解決問題。不光如此,很多時(shí)候,我覺得xml被濫用了,一些項(xiàng)目或者產(chǎn)品,很簡(jiǎn)單的屬性都要用xml來配置。很多時(shí)候我更愿意看到一個(gè) properties 文件。

      向大家推薦一個(gè)東東,JSON-RPC-Java : javascript 與 java 進(jìn)行 rpc 調(diào)用。底層通訊當(dāng)然仍舊是xmlhttp。我以為用它,Google Suggest會(huì)更完美。我會(huì)用連載的形式比較詳細(xì)的介紹它。本文算是一個(gè)引言吧。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多