最近確實(shí)是在做ASP動(dòng)態(tài)全站靜態(tài)化的研究和開發(fā)。大家都知道的,直接轉(zhuǎn)成靜態(tài)頁面的程序本身是不能調(diào)用數(shù)據(jù)庫來實(shí)現(xiàn)當(dāng)前頁面訪問量統(tǒng)計(jì)的,包括現(xiàn)實(shí)被訪問次數(shù)、訪問次數(shù)增加等功能。但是靜態(tài)頁面如果沒有這么一個(gè)功能,卻又總覺得比ASP動(dòng)態(tài)頁少點(diǎn)什么。用iframe來做吧,又不好控制iframe的表現(xiàn)?;谇懊娴目紤],于是打算還是用JS完成該功能。 有這個(gè)一個(gè)前提,就在網(wǎng)絡(luò)上找了相關(guān)的解決辦法,確實(shí)是用JS的。下面是詳細(xì)內(nèi)容: 首先,在需要顯示訪問量的靜態(tài)頁的相關(guān)位置寫上一行: <script lanuage="javascript" src="/inc/viewnum.asp?id=100"></script> 此處: 路徑使用了絕對(duì)路徑,可以使用相對(duì)路徑,自己改。文件名也自己改。參數(shù)ID也可以改成自己需要指定的參數(shù)。至于100這個(gè)ID號(hào)的得來,既然是從ASP轉(zhuǎn)化為HTML,從數(shù)據(jù)庫讀取就可以了,比如<%=rs("id")%>,不同人有不同的寫法,以獲得ID號(hào)為準(zhǔn)。 之后,在指定的路徑下創(chuàng)建viewnum.asp,寫入以下代碼: -------------------------------分割線:以下為代碼------------------------------------ <!--#include virtual="/inc/conn.asp"--> <!--此處使用絕對(duì)路徑包含了Conn文件??梢允褂孟鄬?duì)路徑(include file),位置、文件名自己修改。如不愿包含Conn文件,自己寫入數(shù)據(jù)庫連接字符串--> <% dim id,sqlStr,hits id=int(trim(request.querystring("id"))) '獲得參數(shù)ID。自己改成相應(yīng)的內(nèi)容。 sqlStr="update tablename set viewnum = viewnum +1 where id= "&id 'tablename 為指定的數(shù)據(jù)表的名稱,自己改。 'viewnum 為該ID瀏覽量統(tǒng)計(jì)字段,ACC數(shù)據(jù)庫為數(shù)字類型,SQL選用合適數(shù)據(jù)類型。自己改。 'ID 為該ID的ID號(hào),根據(jù)自己的情況改成相應(yīng)的字段名稱。 '功能:給該ID的瀏覽量加1 conn.execute(sqlStr) '執(zhí)行操作 viewnum=conn.execute("select viewnum from tablename where id="&id)(0) '讀取該ID內(nèi)容訪問次數(shù) %> document.write(<%=viewnum%>) //輸出該ID內(nèi)容訪問次數(shù) -------------------------------分割線:以上為代碼------------------------------------ 以上代碼,黑色部分為代碼,彩色部分為注釋內(nèi)容(藍(lán)色為HTML注釋,紅色部分為VBS注釋,綠色部分為JS注釋)。 用這段代碼控制,在生成的靜態(tài)頁面當(dāng)中便可以正常的顯示當(dāng)前頁面訪問量情況了。
|