在搞定了基本的偽動(dòng)態(tài)之后,我馬上把它應(yīng)用到了網(wǎng)站,但隨后就發(fā)現(xiàn)了一個(gè)問題:我如何來管理新聞列表呢?要是讓我在每次要加新聞時(shí)去修改源文件然后再上傳我可是千萬個(gè)不愿,不僅麻煩而且容易出錯(cuò),懶人怎么能可以這么做。動(dòng)動(dòng)腦子,于是想到了用XML,這個(gè)早已存在,但近些年才流行起來的技術(shù)。
在HTML里,可以使用數(shù)據(jù)島來使用XML數(shù)據(jù),一個(gè)使用方法就是在HTML里加入一句:
<xml id="data">
<!-- 在此為XML數(shù)據(jù) -->
</xml>
這樣,就可以在HTML里使用XML提供的數(shù)據(jù)。不過,這樣還是顯得麻煩了,還是要上傳整個(gè)文件,那么用方便點(diǎn)的吧~~
<xml id="data" src="data.xml"/>
這樣處理之后,我就可以只用修改一個(gè)XML文件然后上傳到服務(wù)器了。
接下來,就是搞定在客戶端對XML數(shù)據(jù)的處理了~~
首先,我得設(shè)計(jì)一個(gè)新聞的數(shù)據(jù)結(jié)構(gòu)。這個(gè)簡單,畢竟在列表時(shí)只需要用到新聞的標(biāo)題和時(shí)間,但為了鏈接,需要加上一個(gè)ID,結(jié)果如下:
<newslist>
<news>
<id>1</id>
<title>第一個(gè)新聞</title>
<date>2005-11-16</date>
</news>
</newslist>
數(shù)據(jù)結(jié)構(gòu)搞定了,繼續(xù)!
在客戶端對數(shù)據(jù)處理當(dāng)然首選JavaScript了,再么這篇文章講的也是用JavaScript來實(shí)現(xiàn)偽動(dòng)態(tài)。
在JS里,對數(shù)據(jù)島的訪問可以使用記錄集:
var rs=data.recordset;
這個(gè)記錄集的使用方法和ASP中類似,這下方便我了:),可以很方便地實(shí)現(xiàn)新聞的列表及鏈接了~在顯示新聞,還需要顯示的是上一條新聞的標(biāo)題及下一條新聞的標(biāo)題,而且顯示新聞列表時(shí),就不需要顯示上一條及下一條新聞了。于是我放了兩個(gè)層分別用來顯示新聞和上一條及下一條新聞的信息,并在需要的時(shí)候設(shè)置是否顯示。其中newsmain用來顯示新聞或者新聞列表,newspage用來顯示上一條及下一條新聞的信息。接著把對應(yīng)ID的新聞存為網(wǎng)頁文件,在顯示時(shí)使用iframe嵌入。
先寫個(gè)函數(shù)來從網(wǎng)址中獲取新聞ID,這個(gè)在前一篇文章已經(jīng)講過,拿來用~~
function getid() {
var str,len,pos,id,fn; // 定義一些變量
str=top.window.location.href; //獲取當(dāng)然文件地址
len=str.length; // 得到地址長度
pos=str.indexOf("?id=",0); // 得到"?id="的起始地址
新聞熱點(diǎn)
疑難解答
圖片精選