ASP實現網路內容快速尋找

來源:互聯網
上載者:User

有一天我突發奇想,要是我每到一個網站,那裡都能立刻調出我需要看的資訊,那豈非美妙得很。接下來我想更深入地考慮這個問題,坐到椅子上拿一支鉛筆,卻不知道自己寫什麼。如此一來,我還是得著手對付代碼它們。

我的朋友開了一個小型網站,原本是我設計的。這是個檢驗我想法的好平台。所以我寫出代碼,上傳了檔案。真叫人興奮,程式工作起來煞是圓滿,同時也證明我的想法的確不錯。

以前看過一些網路使用者傾向報告,其中有一個規律給我印象很深。說是大多數使用者如果在三次點擊內無法找到自己需要的內容,就會立刻離開該網站。My Code就可以針對這個問題,保險使用者只要點一次滑鼠就找到目標。在我的例子裡,假設有個使用者上了Yahoo,檢索關鍵字為Fireplace Accessories(飛行器材配件)。在給出的結果裡,他來到我朋友的網站,將看到"你正在搜尋Fireplace Accessories"等字樣的畫面。接著他會按照網站上的提示,直接到想要去的頁面。

你要作的第一步,是在global.asa檔案中建立一個初始變數,放置在你的Sub Session_onStart()程式中。

Sub Session_onStart()
   Referer = Trim(Request.ServerVariables("HTTP_REFERER"))
   If Referer = "" Then
    Referer = "None"
   End If
    Session("Referer") = Referer
  End Sub

接著我們來著手看看如何完成程式的主要功能。

因為url經過了編碼,所以首先要把來訪者主機的指向資料還原成對我們有用的東西。建立一個ASP頁面,叫它decode.asp,是我們程式的主幹。第一個功能是要對編碼過的指向頭進行解碼。程式有點長,而且很直接,沒有什麼轉彎抹角,如果你嫌麻煩,不如到www.popunet.com的"網蟲進修班"上面找到本文,用"拷貝/粘貼"方法吧。

原始碼

第二件要作的事情是:從URL頭資訊裡分離出查詢部分--這個才是我們需要的。

'從指向URL中分離查詢欄位。
 Function isProduct(pStr)
   If pStr <> "" And lCase(pStr) <> "none" Then
    '向後搜尋欄位
    temp = inStrRev(pStr, "/")
    '得到目錄分離的位置
    tempStr = Right(pStr, temp)
    '得到有關資料長度
    temp2 = Len(pStr)
    '得到查詢資料行
    pStr = Mid(pStr, temp, temp2)
    '設定返回功能的值
    isProduct = pStr
  Else
    isProduct = ""
  End If
 End Function

接著是要確立尋找的明確標準。為達到這個目的,建立兩個靜態空間"指?尋找指向資料

Function Finder(byRef prodList, byVal refList)
  '模糊查詢
  refList = lCase(refList)
  ' 通過指標迴圈尋找匹配欄位
  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
  '第二次迴圈
  Next
  '返回結果
  Finder = tHolderEnd Function

通過一個inclue,把我們做好的decode.asp放到需要此功能的任何頁面,大功告成啦。

具體如下:

'如果指向頭不為空白,調出此功能If lCase(Session("Referer")) <> "none" OR Session("Referer") <> "" Then' 解析指向資料 Response.Write vbCrLf & "
  " _ & Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ & "
  " & vbCrLf
  End If

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.