用ASP編程實現(xiàn)網(wǎng)絡(luò)內(nèi)容快速查找_ASP教程
推薦:ASP技巧:在Access數(shù)據(jù)庫中重命名表下面代碼是用Adox重命名Access表名的示例代碼: 以下為引用的內(nèi)容: Dim Conn,ConnStr,oCat,oTbl ConnStr = "Provider=Microsoft.J
有一天我突發(fā)奇想,要是我每到一個網(wǎng)站,那里都能立刻調(diào)出我需要看的信息,那豈非美妙得很。接下來我想更深入地考慮這個問題,坐到椅子上拿一支鉛筆,卻不知道自己寫什么。如此一來,我還是得著手對付代碼它們。
我的朋友開了一個小型站點,原本是我設(shè)計的。這是個檢驗我想法的好平臺。所以我寫出代碼,上傳了文件。真叫人興奮,程序工作起來煞是圓滿,同時也證明我的想法的確不錯。
以前看過一些網(wǎng)絡(luò)使用者傾向報告,其中有一個規(guī)律給我印象很深。說是大多數(shù)用戶如果在三次點擊內(nèi)無法找到自己需要的內(nèi)容,就會立刻離開該站點。我的代碼就可以針對這個問題,保險用戶只要點一次鼠標(biāo)就找到目標(biāo)。在我的例子里,假設(shè)有個用戶上了Yahoo,檢索關(guān)鍵字為Fireplace Accessories(飛行器材配件)。在給出的結(jié)果里,他來到我朋友的站點,將看到"你正在搜索Fireplace Accessories"等字樣的畫面。接著他會按照網(wǎng)站上的提示,直接到想要去的頁面。
你要作的第一步,是在global.asa文件中建立一個初始變量,放置在你的Sub Session_onStart()程序中。
以下為引用的內(nèi)容: Sub Session_onStart() Referer = Trim(Request.ServerVariables("HTTP_REFERER")) If Referer = "" Then Referer = "None" End If Session("Referer") = Referer End Sub |
接著我們來著手看看如何完成程序的主要功能。
因為url經(jīng)過了編碼,所以首先要把來訪者主機(jī)的指向數(shù)據(jù)還原成對我們有用的東西。建立一個ASP頁面,叫它decode.asp,是我們程序的主干。第一個功能是要對編碼過的指向頭進(jìn)行解碼。程序有點長,而且很直接,沒有什么轉(zhuǎn)彎抹角,如果你嫌麻煩,不如到www.popunet.com的"網(wǎng)蟲進(jìn)修班"上面找到本文,用"拷貝/粘貼"大法吧。
源代碼
第二件要作的事情是:從URL頭信息里分離出查詢部分--這個才是我們需要的。
以下為引用的內(nèi)容: '從指向URL中分離查詢字段。 Function isProduct(pStr) If pStr <> "" And lCase(pStr) <> "none" Then '向后搜索字段 temp = inStrRev(pStr, "/") '得到目錄分離的位置 tempStr = Right(pStr, temp) '得到有關(guān)數(shù)據(jù)長度 temp2 = Len(pStr) '得到查詢數(shù)據(jù)行 pStr = Mid(pStr, temp, temp2) '設(shè)定返回功能的值 isProduct = pStr Else isProduct = "" End If End Function |
接著是要確立查找的明確標(biāo)準(zhǔn)。為達(dá)到這個目的,建立兩個靜態(tài)空間"指?查找指向數(shù)據(jù)
以下為引用的內(nèi)容: Function Finder(byRef prodList, byVal refList) '模糊查詢 refList = lCase(refList) ' 通過指針循環(huán)查找匹配字段 For i = 0 To uBound(prodList) - 1 If inStr(refList, lCase(prodList(i, 0))) Then '找到匹配 tHolder = tHolder & "Are You looking For " _ & "" _ & prodList(i, 0) & " " End If '第二次循環(huán) Next '返回結(jié)果 Finder = tHolderEnd Function |
通過一個inclue,把我們做好的decode.asp放到需要此功能的任何頁面,大功告成啦。
具體如下:
以下為引用的內(nèi)容: '如果指向頭不為空,調(diào)出此功能If lCase(Session("Referer")) <> "none" OR Session("Referer") <> "" Then' 解析指向數(shù)據(jù) Response.Write vbCrLf & " " _ & Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ & " " & vbCrLf End If |
分享:小技巧:解決ASP腳本運(yùn)行超時的方法最近在學(xué)習(xí)服務(wù)器知識。有時候遇到asp腳本運(yùn)行超時的錯誤,真是麻煩。找了相關(guān)資料,其中有一些解決方法。 IIS默認(rèn)的腳本超時時間是90秒 這樣的話如果你是上傳軟件或者傳送數(shù)據(jù)大于90秒的時
- asp FSO 讀寫文件本文件實現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫實現(xiàn)代碼
- asp中正則表達(dá)式過濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁模板:ASP內(nèi)建對象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個小技巧
- eWebEditor v3.8 列目錄
- ASP無組件分頁實現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說明:
ASP教程-用ASP編程實現(xiàn)網(wǎng)絡(luò)內(nèi)容快速查找。