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

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

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

    隨筆-86  評(píng)論-767  文章-3  trackbacks-3

    我一直很推崇MSN Space的服務(wù),對(duì)其相冊(cè)服務(wù)和皮膚一直情有獨(dú)鐘。國(guó)內(nèi)的播客,我首選MSN Space。也可能,MSN Space沒(méi)有那么多炒作。

    恩,言歸正傳。幾天來(lái)研究一下MSN Space的Ajax應(yīng)用。典型的,其應(yīng)用主要體現(xiàn)在:網(wǎng)絡(luò)日志的評(píng)論、固定鏈接、引用記錄、自定義列表上面。了解Ajax之前,一直對(duì)其數(shù)據(jù)的獲取方式很好奇。現(xiàn)在,大概略知一二了。如下圖所示。
    space-article.jpg
    space-comment.jpg
    space-link.jpg
    space-list.jpg
    space-track.jpg
    對(duì)于共享空間首頁(yè),“添加評(píng)論”、“閱讀評(píng)論”、“固定鏈接”、“引用通告”主要用到的Javascript函數(shù)為:OpenSection(section, entryid, bNewComment, bTriedPassportRefresh, bAreNewCommentsAllowed) ,其通過(guò)第一個(gè)參數(shù)section判斷各種操作類(lèi)別,然后從服務(wù)器獲取數(shù)據(jù),在顯示在相應(yīng)的DIV浮動(dòng)層中。
    其使用Ajax獲取數(shù)據(jù)的關(guān)鍵代碼由Javascript函數(shù)GetBlogActivity(entryid, item, otherformfields, bTriedRefresh) 提供。其代碼如下所示:
     function GetBlogActivity(entryid, item, otherformfields, bTriedRefresh)
     {
     var response = "";
     var fException = false;
     eval ('try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {xmlhttp = null;}');
     if (xmlhttp != null)
     {
     try{
     xmlhttp.Open("POST", BlogJSPostUrl, false);
     var strA = "handle="+ entryid;
     strA += "&blogitem=" + item;
     strA += "&" + BlogJSBlogPartParam;
     strA += otherformfields;
     xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     xmlhttp.Send(strA);
     }catch(e){
     fException = true;
     }
     if(fException){
     if(bTriedRefresh){
     //exception after trying passport refresh, stop here to avoid infinite loop
     response = "error";
     }else{
     //build the response - an iframe that will load up and refresh passport credentials
     var timer = setTimeout(DisplayContentLoadError(item, entryid), 10000); //fail in 10s if not cleared
     var iframeString = "<iframe src=\"/PassportRefresh.aspx?id=" + entryid + "&function=get&timer=" + timer + "&item=" + item + "&formfields=" + otherformfields.replace(/&/g, "%26") + "\" />";
     var divID = "ppRefresh" + item + entryid;
     if(document.getElementById(divID)){
     response = iframeString;
     document.getElementById(divID).style.display = "none";
     }else{
     response = "<div style=\"display:none\" id=\"" + divID + "\">" + iframeString + "</div>";
     }
     }
     }else{
     if(xmlhttp.status != 200){
     response = "error";
     }else{
     response = xmlhttp.responseText;
     }
     }
     }
     return response;
     }

    很容易看到,其使用了XMLHttpRequest的同步請(qǐng)求方式。這就是為什么每次單擊“閱讀評(píng)論”的時(shí)候頁(yè)面都需要停頓一下。 xmlhttp.Open("POST", BlogJSPostUrl, false);中所用到的BlogJSPostUrl定義在共享空間的首頁(yè),其余上述兩個(gè)函數(shù)定義在BlogJS.js文件中。

    《Ajax開(kāi)發(fā)詳解》的“模擬MSN Space”一章將有更加詳細(xì)的闡述。

    posted on 2006-03-09 09:49 eamoi 閱讀(5176) 評(píng)論(3)  編輯  收藏 所屬分類(lèi): AJAX

    評(píng)論:
    # re: [匯總]我所看到的Ajax應(yīng)用之MSN Space 2006-05-07 19:26 | 李文廣
    很高興能成為你的讀者,今天我買(mǎi)了你的《AJAX開(kāi)發(fā)精要》,寫(xiě)得真好!……
    很及時(shí),謝謝你。
    我想在你的博客里最好多一點(diǎn)引用這些技術(shù),這樣能讓人們有真實(shí)的感受
    ^☉^
    我的QQ:280380365
    C#開(kāi)發(fā)群:14363918
    歡迎任何人加我  回復(fù)  更多評(píng)論
      
    # re: [匯總]我所看到的Ajax應(yīng)用之MSN Space 2006-05-07 19:34 | 李文廣
      順便說(shuō)說(shuō),我也在開(kāi)發(fā)一系列的書(shū),已出版的有九個(gè)軟件的快捷鍵卡與及一本叫《48分鐘學(xué)會(huì)五筆》的書(shū),而現(xiàn)在我是用AJAX來(lái)開(kāi)發(fā)各種隨網(wǎng)軟件,所以我們是同行^﹀^。雖然學(xué)編程剛開(kāi)始,但我已經(jīng)在寫(xiě)一本叫《完全用中文學(xué)HTML》的書(shū)了。所以有交流的需求!……
      順祝你的書(shū)是最好買(mǎi)的AJAX書(shū)。至少我認(rèn)為是這樣,之前買(mǎi)了一本AJAX基礎(chǔ)入門(mén),是在北京的地壇五月三日的書(shū)展買(mǎi)的,雖然很好,但怎么也是外國(guó)人的思想,與我們有一段距離,所以又痛下決心買(mǎi)了你的書(shū),發(fā)覺(jué)真的沒(méi)有買(mǎi)錯(cuò),寫(xiě)得好極了,連HTML、JAVASCRIPT、DOM也有教,真不錯(cuò)。建議再做幾個(gè)視頻教程,與及相關(guān)的大型應(yīng)用軟件,如象OBLOG、DVBBS等的東西,我想更有說(shuō)服力,來(lái)宣傳你的書(shū)也有好處,祝你好動(dòng)……
      www.ddh4.com 快捷鍵網(wǎng)  回復(fù)  更多評(píng)論
      
    # re: [匯總]我所看到的Ajax應(yīng)用之MSN Space 2006-05-19 17:11 | xcb
    主站蜘蛛池模板: 国产精成人品日日拍夜夜免费| 天堂亚洲免费视频| 久久成人永久免费播放| 亚洲一级视频在线观看| 日韩亚洲人成在线综合日本| 全亚洲最新黄色特级网站| 性做久久久久久久免费看| 久久aⅴ免费观看| 国产精品午夜免费观看网站| 亚洲GV天堂无码男同在线观看| 亚洲欧洲中文日产| 亚洲日本在线观看| 亚洲中文字幕无码一区二区三区| 免费国产成人午夜私人影视| 毛片免费在线播放| 黄页网站在线观看免费高清| 最近2019中文免费字幕在线观看| 一级看片免费视频| 老司机午夜在线视频免费| 国产精品亚洲一区二区在线观看| 亚洲中文字幕久久精品无码2021| 亚洲av激情无码专区在线播放| 亚洲熟女一区二区三区| 亚洲国产午夜中文字幕精品黄网站| 免费看美女被靠到爽| 性感美女视频在线观看免费精品| av免费不卡国产观看| 精品国产无限资源免费观看| 日日麻批免费40分钟无码 | 久久WWW免费人成一看片| 免费毛片a线观看| 国产情侣久久久久aⅴ免费| a毛片全部免费播放| 两个人看www免费视频| 在线观看免费视频一区| 色www永久免费| 免费看又黄又无码的网站| 日韩精品极品视频在线观看免费 | 中文字幕专区在线亚洲| 国内精品久久久久久久亚洲| 亚洲日韩欧洲无码av夜夜摸|