DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 利用XMLHTTP技術為Donews Blog添加最新文章列表
利用XMLHTTP技術為Donews Blog添加最新文章列表
編輯:XML詳解     
Donews Blog的多數模版都沒有顯示最新文章列表的功能,下面是利用XMLHTTP技術實現這個功能的思路和代碼,效果見左側的“最新文章”一欄。因為Donews Blog和Discuz論壇一樣,不同的模版各搞各的,無法給出統一的變量名(Html Tag的ID值),因此需要在代碼的基礎上用CSS修飾以產生合適的效果。

  思路和技術背景

  思路很單純,直接用XMLHTTP讀出Blog的RSS文件,取出最新的文章插入到提前准備好的Html Tag中即可。

  XMLHTTP是微軟上世紀為自己的Web應用的某些效果發明的技術,去年大喇叭們給這種技術(其實是效果)起了個新名字叫AJax,用來贊美Google的幾個Web應用,卻把微軟扔一邊了。隨著微軟、Firefox和Opera把XMLHTTP集成到各自的浏覽器中,web開發者不需要讓用戶下載ActiveX,只需要用喜歡的Web腳本直接調用即可,AJax效果開始得以普及。

  原始代碼

<h3 class="listtitle">最新文章 <span>(<a href="http://blog.donews.com/concorde/archive/2006/02/15/727247.ASPx">如何實現?</a>)</span></h3>
<ul class="list" id="my_last_post"></ul><ul class="list"><li>
<script type="text/Javascript"><!--
var XMLhttp = false;
function load_rss()
{
  XMLhttp = false;
  if (window.XMLHttpRequest)
  {
    xmlhttp = new XMLHttpRequest();
    if (XMLhttp.overrideMimeType)
    {
       xmlhttp.overrideMimeType('text/XML');
   }
  }
  else if (window.ActiveXObject)
  {
    try
    {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
      }
    }
  }
  if(!XMLhttp)
  {
    return;
  }
  XMLhttp.onreadystatechange = proc_rss;
  XMLhttp.open('GET', '/concorde/rss.ASPx', true);
  XMLhttp.send(null);
}

function proc_rss()

{
  if (XMLhttp.readyState == 4)
  {
    if (XMLhttp.status == 200)
    {
      var items = xmlhttp.responseXML.getElementsByTagName('item');

  • 網俠首頁
  • 網絡學院
  • 軟件下載
網絡技術 圖形圖像 操作系統 上網指南 工具軟件 辦公軟件 媒體動畫 網站運營 認證考試 網頁制作 技術開發 web編程 電腦入門 游戲 QQ 當前位置:網俠下載學院網頁制作XML利用XMLHTTP技術為Donews Blog添加最新文章列表

利用XMLHTTP技術為Donews Blog添加最新文章列表

日期:2007年8月28日 作者: 相關tags: 利用 XMLHTTP 技術 Donews Blog 添加 最新 文章 列表

  •       var l = 6;
          if(items.length < 6)
          {
            l = items.length;
          }
          var Html = '';
          for (var i = 0; i < l; i++)
          {
            html = Html + get_item(items, i);
          }
          var obj = document.getElementById('my_last_post');
          if(obj)
          {
            obj.innerHTML = Html;
          }
        }
      }
    }

    function get_item(items, id)
    {
      var link = items[id].getElementsByTagName('link').item(0).firstChild.nodeValue;
      var title = items[id].getElementsByTagName('title').item(0).firstChild.nodeValue;
      var item = '<li class="listitem"><a href="' + link + '">' + title + '</a></li>';
      return item;
    }
    load_rss();
    file://-->
    </script>

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved