<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    emu in blogjava

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks

    現(xiàn)在提起AJAX,大家都立刻會想起Gmail、gogle map這幾個經(jīng)典的AJAX應用。Gmail的優(yōu)良表現(xiàn)我們都看過了,那么它的實現(xiàn)你研究過了嗎?它怎么在幾個不同的瀏覽器上可以一致的實現(xiàn)xml異步調(diào)用的呢?一起來看看吧。

    首先,登錄gmail以后我們會先進入這個頁面:

    <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>
            應啟用 JavaScript,才能在標準視圖中使用 Gmail。然而,JavaScript 似乎已被禁用,要么就是您的瀏覽器不支持 JavaScript。要使用標準視圖,請更改您的瀏覽器選項以啟用 JavaScript,然后
    <href="">重試a><p>要使用 Gmail 的基本 HTML 視圖(不需要 JavaScript),<href="?ui=html&zy=n">請單擊此處a>p>
        
    font>
    noscript>
    <script>

    script>
    html>

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

    要注意到的是google在這里耍了一個小花招,那個叫做main的框架頁面里面看來沒有多少東西,好東東都在那個叫js的框架里面呢。

    我們接著把這個js框架拉出來看看:

    整整1500多行的javascript代碼!

    這個頁面有240多k,幾乎全都是javascript代碼。有興趣分析的兄弟姐妹們請點這里下載

    其實其中大部分都是老生常談的js代碼了,不過我們可以一窺google的編碼風格:盡可能壓縮信息量,變量名能用一個字母的絕不用兩個,函數(shù)名一概都是兩個字母的,函數(shù)內(nèi)的會車是沒有的,縮進也是沒有的。雖然代碼沒有特地加密,但是如此處理一番之后也就沒什么可讀性了。還好系統(tǒng)的關(guān)鍵字是不能縮水的,順著xml控件的名字我們可以揪出來跟AJAX異步加載數(shù)據(jù)相關(guān)的幾個關(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("您需要啟用活動腳本功能和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("請確保 Internet Explorer 的”語言”設置部分不是空白。")}}}
    //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:訪問的url c:回調(diào)函數(shù) Da是驗證參數(shù)長度的函數(shù) 
    //
    Ld是一個url轉(zhuǎn)換加工的函數(shù),主要處理url自帶的CGI參數(shù)和翻頁的頁數(shù)等

    function Hf(a,b,c){Da(3);a.onreadystatechange=c;a.open("GET",b,true);ot(a,null)}
    //emu注釋 不發(fā)送數(shù)據(jù)直接請求資源 a:XML控件 b:訪問的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ù)并請求資源 a:XML控件 b:訪問的url c:要發(fā)送的數(shù)據(jù) d:回調(diào)函數(shù)

     

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

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

    今天先到這,下回再過來分析另一個完全不同的AJAX應用吧。大家周末愉快!

    posted on 2005-11-04 14:36 emu 閱讀(13367) 評論(35)  編輯  收藏

    評論

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-06 00:05 大胃
    嗯,不錯,emu不愧為JS牛人。換作是我,估計早就頭大了。

    不過依我的一點拙見,Google自己好像沒吹捧AJAX,倒是很多來自其他媒體的評論和開發(fā)人員從Gmail等應用看到了AJAX這個不算新鮮的技術(shù)原來可以做出這樣優(yōu)秀的嵌在瀏覽器里面的客戶端。

    退一萬步講,如果Gmail能夠憑借一些并不花哨和前衛(wèi)的技術(shù),實現(xiàn)如此讓人眼前一亮的功能,并且讓整個開發(fā)社區(qū)重新認識AJAX,我想它背后一定有些不簡單的東西在支撐著。
      回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-06 15:03 jiniboy
    有詳細的沒有啊  回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-06 21:23 todogoingmm
    有高手在,我也懶惰一盤。順便問問
    1)Msxml2.XMLHTTP和Microsoft.XMLHTTP有什么不同?
    2)MSXML.DOMDocument和Msxml2.DOMDocument和Microsoft.XMLDOM有什么不同?
    3)相信每組的功能都差不多。在使用的時候有什么經(jīng)驗嗎?  回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-07 09:21 emu
    呵呵我是技術(shù)理想主義者,sean是實用主義者。

    不欣賞gmail的ajax理由是沒有充分利用到xml帶來的好處,后臺必須為前臺的每一個請求度身定做一個返回的(超)文本或者腳本,因此也在后臺帶來了混合編程的問題。

    如果實用純xml來做ajax,后臺開發(fā)人員可以非常大的被解放出來,更多的關(guān)注業(yè)務而不是表現(xiàn),我認為這是ajax帶來的另一個方面的好處。有興趣可以看看
    http://qzone-search.qq.com/web/tag/tt_search.html
    這個頁面就是接收標準的xml數(shù)據(jù)來顯示的。比如頁面中間的“最近更新”部分來自于http://qzone-search.qq.com/client/tag/newtags.xml ,而搜索功能的實現(xiàn)則依賴于ajax加載。而tencent公司正在開發(fā)中的tm版qzone干脆用ajax技術(shù)解析rss數(shù)據(jù)來生成頁面,這樣后臺開發(fā)人員只需要做一套提供rss訂閱的cgi就可以了。

    但是在gmail這樣對跨瀏覽器要求比較高的場合上,這是很必然的選擇,跨瀏覽器的xml解析始終是一個麻煩的東東,我現(xiàn)在也還搞不定。打算過一段有時間了再好好研究,實在不行就用純javascript寫一個簡單一點的xml解析器,跨平臺行還更好一些呵呵。

    jiniboy : 本來打算hack掉gmail的腳本來分析gamil的來往數(shù)據(jù)的,這段時間忙沒有辦法去做,過陣子吧。至于更詳細的技術(shù)實現(xiàn),我認為沒有進一步探究的價值了,我認識的網(wǎng)友有超過一打都可以實現(xiàn)得出來。

    todogoingmm :沒有仔細研究過其中的差別,其實網(wǎng)上的資料很多了。我認為主要差別是不同瀏覽器支持的不同版本的xml控件,但是我們盡量向下兼容,使用最通用的功能。  回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-08 21:48 Joyway
    如果做過跨Brower的JS代碼的話,尤其是要兼容一些低版本的Brower的話(象是Netscape4,5,IE4,5都要支持的),就會明白什么叫做痛苦了。其實最簡單的方法就是給每個Brower寫一個基本的實現(xiàn),再在程序里調(diào)用這些基本的現(xiàn)實來做一些高級的功能。
    是不是大公司都會提這么變態(tài)的要求的?  回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-09 10:54 emu
    》》最簡單的方法就是給每個Brower寫一個基本的實現(xiàn)
    別的不說,維護那么多版本的代碼就夠頭疼了。其實盡可能的使用一些通用的腳本,一些瀏覽器特有的功能用自己做的函數(shù)包裝起來再調(diào)用,在包裝的函數(shù)里面判斷用特定的瀏覽器實現(xiàn),這樣就要好作的多了。
    跨瀏覽器還有一個頭疼的問題是不同瀏覽器有不同的bug呵呵。  回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-11 01:08 emu
    花了兩個多鐘頭跟gmail的代碼之后還是輸給它了。
    原來以為gmail的代碼是沒有特地加密的,但是很意外的發(fā)現(xiàn)在顯示的主窗口(名字叫v1的那個)中,頁面元素的id居然是隨機生成的,也就是說其實是加了密的。而且所有的鏈接和按鈕都無法跟蹤到他們的點擊事件,這簡直是咄咄怪事!雖然在js頁面中可以看到他很迂回的使用了onclick等事件,但是看起來中些事件似乎根本沒有定義到具體的鏈接上,而是直接定義到框架上了。框架的document對象定義了onclick事件:

    function(c){return vo(D(a),c,b)}

    也就是js頁面中Uy函數(shù)的返回。想這樣子把各個參數(shù)順序倒來倒取,函數(shù)調(diào)來調(diào)去的事情js頁面中做了不計其數(shù),最終事件是怎么處理的實在不得而知。gmail那個23歲的項目經(jīng)理,佩服佩服!

    還好,這些再稀奇古怪,其實跟AJAX的關(guān)系都不大了。個人認為這不是值得提倡的做事方式。  回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-22 17:44 盜泉
    “其實其中大部分都是老生常談的js代碼了,不過我們可以一窺google的編碼風格:盡可能壓縮信息量,變量名能用一個字母的絕不用兩個,函數(shù)名一概都是兩個字母的,函數(shù)內(nèi)的會車是沒有的,縮進也是沒有的。雖然代碼沒有特地加密,但是如此處理一番之后也就沒什么可讀性了。”

    其實那是js的混淆處理,并不是 google 的編碼風格。  回復  更多評論
      

    # re: Gmail 使用的AJAX技術(shù)研究 2005-11-22 19:15 Daniel.Liu
    其實最主要是原始的代碼可能和大家開發(fā)用的一樣.
    經(jīng)過測試無誤后,再用一個代碼轉(zhuǎn)換工具,把變量名替換掉.
    把空格回車刪除掉,變成了最后的代碼了.
    為的就是把CORE做到最小,而且JS的加載大小應該是有限制的.
    GOOGLE那種做法也就是為了盡可能減小其核心代碼的長度.
    畢竟對于IE的JAVA解析環(huán)境來說,多余的空格,多長的變量名是沒有意義的.  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2005-12-06 18:45 emu
    驚奇的發(fā)現(xiàn)Wiley Publishing
    出版過一本書就叫《Hacking Gmail》

    目錄可以看到:

    http://as.wiley.com/WileyCDA/WileyTitle/productCd-076459611X,descCd-tableOfContents.html

    PART I: CUSTOMIZING GMAIL.
    Chapter 1. Desktop Integration.

    Chapter 2. Integrating Your Existing Mail.

    Chapter 3. Gmail Power Tips.

    PART II: THE GMAIL API.

    Chapter 4. Skinning Gmail.

    Chapter 5. How Gmail Works.

    Chapter 6. Gmail and Greasemonkey.

    Chapter 7. Gmail Libraries.

    Chapter 8. Checking for Mail.

    Chapter 9. Reading Mail.

    Chapter 10. Sending Mail.

    PART III: USING YOUR API.

    Chapter 11. Dealing with Lables.

    Chapter 12. Addressing Adresses.

    Chapter 13. Building aqn API from the HTML-Only Version of Gmail.

    Chapter 14. Exporting Your Mail.

    Chapter 15. Using Gmail To....

    Chapter 16. Using GmailFS.

    Appendix: Long Code Listings.


    沒有找到在線閱讀的連接。書中用的代碼可以在這里下載到。看了一下都是些pl文件,算了,不想特地去玩perl。

    相關(guān)的還有兩本:《Gmail Power Tips》《Using Gmail to... 》  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-01-06 20:07 zhenxi
    emu所說的那個javascript的解析器好像已經(jīng)有人做出來了,就是xparse.js
    www.x2design.net就是用prototype.js和xparse.js來撐起來的  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-01-06 20:18 cm4ever
    那些js代碼明擺著是用自動生成工具生成的,了解概念就行了,去讀就有點齪了。  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-01-25 09:47 duduwolf
    不是google的代碼風格,那是一種js混淆器生成的代碼樣式
    gmail是在AJAX這個名詞誕生以前就有的東西,包括suggest和google map,google用xmlhttp和eval(responseText)的方式就是為了達到最實用效率最高的目的,如果gmap也用xml去解析地圖信息,我想會變得很慢很低效的  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-01-25 17:26 emu
    終于盼到duduwolf來留言了,榮幸榮幸。
    我在你的blog上留過言,加過你的msn,幾次想要聯(lián)系你都未能如愿,能否留個有效的聯(lián)系方式?有不少問題想和你討論。
    我認為肯定是某種js加工工具,但不是混淆器。再簡單的混淆器出來的代碼也是一塌糊涂的,google用的工具的加工目的僅僅是壓縮文件尺寸,并沒有刻意的降低可讀性。
    google的幾個應用針對性很強,用AJaH方式顯然是非常合適的。我一直想強調(diào)的是,我們做系統(tǒng)不可以照抄google的方式,要多在可維護性和通用性上想問題,不要放任系統(tǒng)變的太專用、耦合變的太強、軟件變的太“硬”。  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-02-20 16:44 foxgst◎gmail.com
    把表現(xiàn)層和業(yè)務層分開是必要的嗎?……如果有人可以在概念上區(qū)分得很清楚,而且可以做代碼自動生成工具生成混合的代碼,快速高效而又商業(yè)化的應用,挺好,沒必要失望。我也只用我覺得好的Ajax部分,規(guī)范快速高效是最終目的。

    以前很希望看到google在Web頁面中采用xhtml的標準,一直沒有看到,依然是html,甚至連DOCTYPE都沒有,我想這只能說明軟件流水生產(chǎn)線在google的普遍存在。

    充分利用技術(shù)的好處,而不僅僅是選擇“好”技術(shù)來用。  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-03-13 20:52 netunit
    不錯,關(guān)注,正想做個網(wǎng)站,而應用其ajax

    http://www.netunit.com.cn  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-04-06 15:37 finaland
    我看到 csdn 上老發(fā)廣告的這個
    http://mail.ymailserver.com/webmailgmail/mail.jsp?auth=a_l_VFZ-J1m7

    看了代碼,好像完全和 gmail 一樣的

    這是怎么回事?

      回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-04-06 15:43 finaland
    剛才沒說清楚

    http://mail.ymailserver.com/default.jsp

    用戶名 demo
    密碼 demo

    版本選擇 google gmail 版

    我看了好幾個函數(shù)的命名都是一致的

    難道他們拿到了gmail 的源碼?  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-04-06 17:31 emu
    我看了幾個函數(shù)的命名和google的風格都相差甚遠,而且google也不是用jsp做的,應該和google的源碼沒有多大關(guān)系。  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-04-06 19:23 finaland
    看了你的回復又過去仔細看了一下

    1、易郵主框架頁面,也就是 '登錄gmail以后我們會先進入' 的這個頁面

    有這樣一段

    <noscript><font face=arial>應啟用 。。。。。 中間略 </font></p></noscript>

    和你的分析中的第一段代碼基本上完全一樣(多了移動部分處理,和現(xiàn)在gmail 版本完全一樣),包括連 Gmail 的大名都在里面

    2、js 腳本框架加載方式和你分析的gmail 的方式完全一樣,都是 document.write 一個 frameset 到主頁面中,然后通過frame onload 事件控制轉(zhuǎn)向 js 腳本頁面

    這種結(jié)構(gòu)一樣無可厚非,但是這些 frameset 和 子frame 的名字都一樣,連控制轉(zhuǎn)向的函數(shù)名都一樣,有點不正常吧

    3、上面兩點都不是重點,我們看看那個 1500 行的 javascript 代碼

    function Wv(){var a=null;if(Bl){var b=Bm?"Microsoft.XMLHTTP":"Msxml2.XMLHTTP";try{a=new ActiveXObject(b)}catch(c){Gu(c);Xv("\u60a8\u9700\u8981\u542f\u7528\u6d3b\u52a8\u811a\u672c\u529f\u80fd\u548cactiveX \u63a7\u4ef6\u3002")}}else{a=new XMLHttpRequest();if(!a){;Xv("\u6b64\u6d4f\u89c8\u5668\u4e0d\u652f\u6301 XMLHttpRequest\u3002")}if(a){qM(a)}}return a}

    這個對應你分析的第一個函數(shù) function vb

    function bw(a,b){;try{a.send(b)}catch(c){Gu(c);if(c.number==-2146697208){C("\u8bf7\u786e\u4fdd Internet Explorer \u7684\u201d\u8bed\u8a00...\u201d\u8bbe\u7f6e\u90e8\u5206\u4e0d\u662f\u7a7a\u767d\u3002")}}}

    對應 function ot(a,b)

    \u7684\u201d\u8bed\u8a00 這些東西很明顯是自己定義的漢字編碼,通過 函數(shù) C 解碼,然后 alert 出來

    其他的不看了


    確實,ajax 在 數(shù)據(jù)發(fā)送的細節(jié)上,全世界都只能用 XMLHTTP,全世界的代碼都一樣,但是易郵的這個和 gmail 的框架調(diào)用、函數(shù)組織、數(shù)據(jù)傳遞,連呼吸都一樣,不是很奇怪嗎?

    還有,易郵的1500代碼最后,也沒忘了這句:
    </body>
    <!-- Copyright 2002-2006 Google Inc. -->
    </html>

    最低限度,很明顯參考了 gmail 的代碼

    我們都知道,web 應用上 js 腳本是藏不住的,不然大家都看不到這個案例分析了,但是,這個 1500 行的代碼,做了這么復雜的混淆,根本沒辦法分析清楚(本人不才,就著兩個字的函數(shù)名硬看了一天,沒有任何頭緒),服務器端的邏輯數(shù)據(jù)如何組織,如何傳遞,如何響應,如何調(diào)用,是沒辦法從 這個 js 上推斷出來的。


    最后,有個問題想請教,這也是我找到這篇文章的初衷。
    gmail 的頁面根據(jù)你的分析,應該是由兩個 frame 組成的,上面的 frame 負責顯示,高度 100%,下面的 frame 是js 腳本解析層,高度為0

    我的問題是,在用戶切換應用的時候(比如從 inbox 切換到 all mail),上面那個用來顯示的 frame 是否進行了刷新?

    我看了頁面 url,傳到服務端的參數(shù)不同,頁面源代碼也不同,都是從服務端讀取的當前應用的邏輯數(shù)據(jù),從這個角度看,整個頁面都被重寫過,這個 frame 應該進行了刷新

    但是左側(cè)的 菜單 還有 那幾個 clipBox 一直保持著,感覺不像進行了刷新

    我自己試著做了一個簡單的結(jié)構(gòu),發(fā)現(xiàn)如果上面的 frame 進行刷新,左側(cè)菜單會被重繪,頁面會出現(xiàn)非常短暫的白屏,雖然很短,但是非常破壞用戶體驗,和gmail 的效果差很遠

    正在百思不得其解的時候,居然無意中看到了這個 易郵 ,當場就驚呆了
    在下才疏學淺,而且很磋,有怪癖,這個問題一直弄不明白,好幾天都沒睡好,下風頓首,望指點一二

    留言寫了這么長,非常不禮貌,如果不吝賜教的話,我的郵箱

    jackie.lander AT gmail.com  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-04-07 10:15 emu
    最近實在太忙,天天加班,沒有辦法仔細研究這個問題。
    Gmain的Frame確實是刷新的,只是刷新比較快而已,刷新過程也有短暫的白屏,但是在頁面左側(cè)表現(xiàn)不明顯。
    這其實也不神秘,查看一下源代碼就一目了然了。因為頁面本身的顯示內(nèi)容都是用腳本生成的,我們切換到新的url上面的時候其實只是切換了新的數(shù)據(jù),什么都不顯示,要由其它框架頁面解析完數(shù)據(jù)后生成新的html再瞬間替換到頁面上,因此出現(xiàn)白屏的時間非常短。

    隨手做了個簡單的例子,請點擊這里下載。  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-04-07 12:18 finaland
    謝謝  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-05-14 03:47 killjanuary
    垃圾MS的IE瀏覽器有兩個不同版本的XMLHTTPrequest

    所以建立request并定義為false后,要先測試你的browers是否為MS版本1,else測試是否為MS版本2。然后再檢測request是否還為false,如還是false,OK,AJAX下課,花花腸子玩不了了。 否則:開始AJAX干活  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-05-17 22:44 易郵YMailserver
    易郵YMailserver讓您公司擁有和網(wǎng)易163,126,GOOGLE Gmail一樣的郵件系統(tǒng)
    歡迎訪問介紹: http://www1.yiii.net/app/shop/view.jsp?Information_Id=I00000002&templateName=shop.view.gI2

    網(wǎng)易最新 "D計劃" 版(DIV+JS 全新客戶端軟件模式) 試用
    進入體驗:

    http://mail.ymailserver.com/webmaildplan/login_submit.jsp?username=demo&hostname=ymailserver.com&password=demo&doLogin=true&redirectStr=Index

    網(wǎng)易163, 126極速版(DIV+JS) 試用
    http://mail.ymailserver.com/webmail126/login_submit.jsp?username=demo&hostname=ymailserver.com&password=demo&doLogin=true&redirectStr=Index

    Google Gmail郵局版(AJAX) 試用
    http://mail.ymailserver.com/webmailgmail/login_submit.jsp?username=demo&hostname=ymailserver.com&password=demo&doLogin=true&redirectStr=Index
      回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-05-25 20:10 pc
    http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=1106514125748 Java 線程/內(nèi)存模型的缺陷和增強
    http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=1106513213315 Java基本教學:線程入門
    http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=1106513213240 Java學習:線程池的簡單構(gòu)建  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-07-10 16:01 zz
    這些早注意到了,頁面上有大量的js腳本要運行,其速度之慢,令人無法忍受,google的各種做法都是為了提供足夠的腳本運行速度.  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-08-13 22:24 SimenKing
    emu的文章很不錯。

    我也很早就翻過Gmail的js代碼了,做web的都有個癖好就是看到好東西都要查看源碼 :)
    因此,我有Gmail的某個版本的代碼(未擾碼處理的)。直到后來...發(fā)現(xiàn)被擾碼處理了 :(

    其實gmail中Ajax用的很少,也許新集成的Gtalk應該是大量應用,不過那份代碼是很早以前的(甚至在html版本出來之前),
    Gmail里大量的操作是用iframe完成的,明顯的例子:你點某封郵件標題查看內(nèi)容的時候,瀏覽器有個明顯的加載頁面過程。

    如果emu有興趣我可以提供給你研究。

    我現(xiàn)在什么都做,從后臺到css,從服務器架設到日常維護。
    有興趣可以來我這里討論技術(shù)問題 http://www.mipang.com/groups/tiandi/
    網(wǎng)站上有大量Ajax實現(xiàn)。歡迎交流 PHP/JS/Ajax/CSS  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-08-13 22:38 SimenKing
    我覺得 google calendar 也是個很不錯的東西,閱讀代碼可以學到很多js技巧。雖然是擾碼過的,關(guān)鍵代碼還是能看懂是在做什么。  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-08-30 14:49 moses
    版主你好。我現(xiàn)在在做一個項目。用ajax做。覺得你們的技術(shù)很好。想跟你們聯(lián)系下。聊聊。看看有沒有合作的機會。
    我的電話13817260896我姓郭  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-09-25 19:40 SimenKing
    剛建了blog

    http://nukq.malmam.com

    Ajax PHP方面的技術(shù)心得分享  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-10-18 13:37 Sparkwang
    gmail在請求返回js而不用xml是有道理的,使用json攜帶數(shù)據(jù)返回客戶端的做法效率是最高的。樓主認為“像這樣用xml控件來收發(fā)文本信息后在頁面上展現(xiàn)的技術(shù),基本上就是現(xiàn)在AJAX最流行的應用方式了”,實際的情況未必如此,這個說法是不準確的。  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2006-11-24 22:22 Pengo
    樓上說得很有道理.并不是必須使用xml才算Ajax  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2007-03-29 13:59 Gino.F.Huo
    這個是不同的瀏覽器(和不同的瀏覽器版本的問題)  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2008-08-04 10:24 村蟈蟈
    ?  回復  更多評論
      

    # re: AJAX案例研究之Gmail 2009-12-29 17:23 nbby
    @大胃
    好深刻的理解啊。  回復  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲精品中文字幕无乱码| 亚洲毛片在线免费观看| 亚洲人成色77777在线观看| 亚洲AV永久纯肉无码精品动漫| 巨波霸乳在线永久免费视频| 18禁亚洲深夜福利人口| 亚洲成a人片在线观| 亚洲av无码潮喷在线观看| 久久久久亚洲AV无码专区网站| 免费看的一级毛片| 国产成人无码免费看视频软件| 国产免费爽爽视频在线观看| 一区二区三区免费电影| 国产成人综合亚洲绿色| 亚洲欧洲免费无码| 国产亚洲精品VA片在线播放| 亚洲精品中文字幕无码AV| 亚洲欧洲在线观看| 婷婷亚洲综合五月天小说| 亚洲男同帅GAY片在线观看| 亚洲男人天堂2020| 亚洲精品无码AV中文字幕电影网站| 老司机永久免费网站在线观看| 桃子视频在线观看高清免费完整| 无码国产精品一区二区免费3p| a级在线免费观看| 少妇性饥渴无码A区免费| 在线观看免费黄网站| A级毛片成人网站免费看| 久久九九久精品国产免费直播| 免费中文字幕视频| EEUSS影院WWW在线观看免费| 九九免费观看全部免费视频| 九九久久国产精品免费热6| 一级特黄录像免费播放中文版| 无码日韩人妻AV一区免费l | 色欲国产麻豆一精品一AV一免费 | 亚洲国产精品成人| 亚洲国产中文字幕在线观看| 亚洲男人在线无码视频| 亚洲人成网站18禁止一区|