国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用ASP統計用戶在網站的停留時間

用ASP統計用戶在網站的停留時間

更新時間:2022-05-16 文章作者:未知 信息來源:網絡 閱讀次數:

雖然通常使用的點擊注冊技術可以計算出你的Web站點得到多少點擊,但是,如果能夠知道訪問者在站點上停留了多長時間就更好了。如果有上千人點擊并打開了你的主頁,但他們卻在漂亮的“歡迎”圖形完全下載之前就已經跑到別的站點去了,這樣,你所花在建設和維護站點上的投資就沒有得到很好的回報。

  有兩種很好的方法用來記錄用戶在你的站點上花費了多少時間。第一個是使用基于ASP服務器的sessions,第二是通過保持客戶機端cookies。要記住,使用sessions將給服務器的處理工作增加負荷,但是它們確實提供了最簡潔的方法。還有一點要注意,那就是如果用戶端的瀏覽器不能支持cookie功能,那么這兩種方法都不能工作。

  

ASP Session 技術
  使用ASP Session 是要求你把這個session 開始的當前時間保存成那個用戶的session 級別變量,這將要用到你的站點或虛擬路徑下的global.asa 文件中的Session_onStart 事件句柄。然后,在Session_onEnd 事件句柄中,你就可以計算出session 持續的時間,并將這個結果寫到日志文件或數據庫中。在這里的例子中使用了日志文件:

< script language="VBScript" runat="server" >

Sub Session_onStart()

‘save the time that the session started

Session("StartTime") = Now()

End Sub



Sub Session_onEnd()

‘get the time that the user last loaded a page

‘assumes the default session timeout of 20 minutes



On Error Resume Next



‘set path and name of log file to be created

‘edit to suit your own machine directory layout

‘remember to give the directory Write or Full

‘Control permission for the IUSR_machine account

strFileName = "C:Tempvisit_lengths.txt"

datStartTime = Session("StartTime")

datEndTime = DateAdd("n", -20 , Now())

intMinutes = DateDiff("n", datStartTime, datEndTime)

If intMinutes > 0 Then

   ‘got a valid time so add it to the log file

   strInfo = "Visit ending at " & datEndTime _

     & " lasted for " & intMinutes & " minute(s)."

   ‘add user name to the log entry string here if required

   ‘strInfo = strInfo & " User name: " & strUserName

   Set objFileObject = Server.CreateObject("Scripting.FileSystemObject")

   ‘open text file to append data (the ForAppending constant = 8)

   Set objFile = objFileObject.OpenTextFile(strFileName, 8, True)

   objFile.WriteLine strInfo

   objFile.Close

End If

End Sub

< /script >

  你可以看到,當session 結束時,我們從當前時間中減去了session 的timeout的數值,如果考慮到用戶裝載最后一頁時所花費的時間,減去的值可以稍微小一點。這個數量由你去猜,因為用這個技術并不能測出實際值。

  注意,如果你在任何頁面中使用了ASP的 Session.Abandon 方法,就不能得到正確的結果。因為這種方法立即中斷session,這樣,從實際時間中減去session長度就會給出一個不正確的訪問時間(有時候甚至是負數)。更糟糕的是,在ASP 2.0版本中,這種方法還經常徹底不能啟動Session_OnEnd事件。

  在某些站點上使用一種“中止服務器操作”的鏈接來啟動Session.Abandon方法,但是根據經驗,很少有用戶會去點擊它。他們只是轉到另一個站點,讓session自行中斷。

  這是我們從日志文件中得到的一些記錄:

  Visit ending at 6/5/00 1:05:26 AM lasted for 2 minute (s).

  Visit ending at 6/5/00 1:06:14 AM lasted for 47 minute(s).

  Visit ending at 6/5/00 1:12:18 AM lasted for 22 minute(s).

  Visit ending at 6/5/00 1:29:54 AM lasted for 9 minute(s).

  如果用戶訪問的時間少于1分鐘(比如說,他們的session開始后過了1分鐘還沒能裝載另一頁),用我們的代碼就不顯示在列表中。從整個session長度中減去這個session的timeout ,就會得到0,在這一點我們的代碼就將其舍棄:

  If intMinutes > 0 Then ?

  當然你可以修改代碼以適應自己的需要。

  注意:要記住session結束后才開始寫日志文件的條目。你不能立刻看到它們。如果想試著更快地看到結果,可以在頁面上修改Session.Timeout 的屬性。

  

在數據庫中記錄結果
  要將計算的結果記錄數據庫中而不是日志文件中,可以創建一個適當的SQL INSERT聲明,執行它來更新一個你已經提供的數據庫表:

...

strSQL = "INSERT INTO YourTable (UserName, SessionEnd, " _

& "SessionLength) VALUES (‘" & strUserName & " ‘, #" _

& datEndTime & "#, " & intMinutes & ")"

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.open "DSN=yourdsn;UID=username;PWD=password;"

oConn.Execute strSQL

Set oConn = Nothing

...

  然后你就可以用任何方式來使用這些數據了。你可以創建ASP頁面來讀取數據并將數據呈現給管理員,或者從數據庫中將其復制到一個電子工作表中,有時間的時候再進行分析。

  但是要記住,使用ASP sessions會帶來一些問題。在ASP 2.0中,當主應用程序目錄下的嵌套目錄中有global.asa 的副本時,有時sessions 會丟失。還有,如果你在URL、頁面文件名以及頁面之間的超級鏈接中使用字母的大小寫不同的話,象Navigator那樣的瀏覽器就把URL作為大小寫敏感來對待,因此不把特殊的ASP session cookie發送回來,這樣這種方法的使用也是不可靠的。

  

“客戶機端Cookie”技術
  使用客戶機端Cookie也很容易。完成這一工作的代碼可以放在一個ASP #include 文件中,然后將它插入到站點中用戶肯定會去訪問的主頁面中。當然,如果愿意的話可以將其插入所有的頁面。只要在用戶訪問的過程中它工作正常,就能給出正確的結果。

  設置了路徑和日志文件名之后,代碼定義一個子程序,將一個值附加到日志文件的,就象前面的“ASP Sessions”的例子一樣。如果你愿意的話,可以取代我們使用的代碼來更新一個數據庫表而不是一個日志文件。

< %

‘measure visit length with cookie



‘set path and name of log file to be created

‘edit to suit your own machine directory layout

‘remember to give the directory Write or Full

‘Control permission for the IUSR_machine account

strFileName = "C:Tempvisit_lengths.txt"



Sub UpdateLogFile(intVisitLength)

On Error Resume Next

If intVisitLength > 0 Then

   ‘got a valid time so enter it into a log file

   strInfo = "Session ending at " & Now() _

     & " lasted for " & CStr(intVisitLength) & " minute(s)."

   ‘add user name to the log entry string here if required

   ‘strInfo = strInfo & " User name: " & strUserName

   Set objFileObject = Server.CreateObject("Scripting.FileSystemObject")

   ‘open text file to append data (the ForAppending constant = 8)

   Set objFile = objFileObject.OpenTextFile(strFileName, 8, True)

   objFile.WriteLine strInfo

   objFile.Close

   Set objFile = Nothing

   Set objFileObject = Nothing

End If

End Sub



讀一個存在的Cookie
  現在我們可以進行實質性的工作了。代碼的其余部分檢查是否有一個現存的Cookie供這個用戶使用,如果有的話就確認它包含有效的日期和時間(我們檢查它必須是一個1990年之后的日期)。如果cookie是有效的,它隨后檢查自從這個用戶裝載最后一頁(也就是他們執行這個代碼的最后一次)是否已經過了30分鐘以上。如果已經超過了30分鐘,我們就把它算做一個新的訪問,你可以根據你的站點和需求來修改這個值。

...

‘get session start time from existing cookie if it exists

datStart = CDate(Request.Cookies("SiteVisits")("StartTime"))

If Year(datStart) > 1990 Then

‘cookie already exists, so get values

datLast = CDate(Request.Cookies("SiteVisits")("LastTime"))

If (DateDiff("n", datLast, Now()) > 30) Then

   ‘more than 30 minutes since last visit so count as new visit

   ‘get length of last visit and update log file

   intMinutes = DateDiff("n", datStart, datLast)

   UpdateLogFile intMinutes

   ...

  這時,通過在頁面的頂端執行UpdateLogFile子程序,我們已經存儲了他們上一次訪問的長度, 這是他們上次訪問的分鐘數。然后就可以把我們收集的兩個值更新成當前的日期和時間,可以開始記錄這次訪問的長度了。

  要注意,30分鐘過去之后才能看到表格中的任何條目。在試驗時,你可以用一個較短的值來修改代碼。



記錄訪問的時間長度
   ...

   ‘update values for cookie

   ‘use new start time and new ‘last page load‘ time

   datStart = Now()

   datLast = Now()

Else

   ...

  如果自從最后一次執行這個代碼的時間少于30分鐘,我們把它算成是當前訪問的一部分,因此我們只需要更新cookie中的值作為他們上次訪問的時間:

   ...

   ‘less than 30 minutes since last visit so count as the same visit

   ‘update values for cookie - just change the ‘last page load‘ time

   datLast = Now()

End If

Else

...



設置默認值
  這里的代碼只是在我們沒有從訪問者那里得到一個有效的cookie時才會執行,因此我們所能做的就是使用一個當前日期和時間的新cookie來得到最后一次訪問的開始和最后的數值:

...

‘valid cookie does not exist so set values for a new one

datStart = Now()

datLast = Now()

End If

...



創建返回Cookie值
  現在,我們已經涉及到了cookie中現存值的所有可能的情況,并且我們把新的cookie值存儲在datStart和datLast變量中。這樣我們就可以創建發送回這個訪問者的cookie了。注意,每次我們都要重新創建整個cookie,因為當試圖修改其中一個值而更新cookie時,會破壞其它的所有現存值:

...

‘create cookie to send back to client

‘have to recreate whole cookie - can‘t just change some values

Response.Cookies("SiteVisits")("StartTime") = datStart

Response.Cookies("SiteVisits")("LastTime") = datLast

Response.Cookies("SiteVisits").path = "/" ‘apply to entire site



‘make it stay on the user‘s system for three months

Response.Cookies("SiteVisits").expires = DateAdd("m", 3, Now)

% >

  cookie技術的一個問題是當訪問者重新回到你的站點時,你只能測量他上次訪問的長度。為此,我們允許cookie在他們的機器上存在3個月,你可以修改這個時間值來適應你的需求。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        日本一区二区三区四区在线视频| 日韩一区二区三区三四区视频在线观看 | 日韩一卡二卡三卡四卡| 日韩免费看网站| 久久成人av少妇免费| 欧美电影在线免费观看| 亚洲电影在线免费观看| 91精品久久久久久久久99蜜臂 | 国产欧美一区二区精品性色| 精品在线播放免费| 国产欧美精品一区二区三区四区 | 国产精品久久久一本精品| 91理论电影在线观看| 一区二区三区在线视频播放| 欧美视频自拍偷拍| 国产又黄又大久久| 亚洲欧洲日韩综合一区二区| 在线亚洲一区观看| 国产一区二区三区日韩| 亚洲精品videosex极品| 欧美一二三区在线| 91福利国产成人精品照片| 久久99精品久久只有精品| 1024成人网| 久久久久久久久久久久电影| 欧洲视频一区二区| 成人免费视频一区| 裸体健美xxxx欧美裸体表演| 国产女人aaa级久久久级| 精品视频123区在线观看| 国产福利91精品一区| 日本少妇一区二区| 亚洲综合男人的天堂| 国产农村妇女精品| 精品国产凹凸成av人导航| 欧美日韩久久一区| 91久久精品一区二区二区| 国产福利91精品一区二区三区| 午夜伦欧美伦电影理论片| 中文字幕人成不卡一区| 精品99999| 日韩免费电影网站| 欧美精品黑人性xxxx| 色婷婷综合久久久久中文| 国产成人免费在线| 国产精品白丝jk白祙喷水网站 | 日韩福利视频网| 洋洋av久久久久久久一区| 国产女人18水真多18精品一级做| 欧美精品一区二区三区很污很色的| 欧美中文字幕亚洲一区二区va在线 | 视频在线观看国产精品| 中文字幕在线一区| 中文字幕中文乱码欧美一区二区| 久久久九九九九| 久久夜色精品国产噜噜av| 91麻豆精品国产91久久久| 欧美高清精品3d| 91精品麻豆日日躁夜夜躁| 欧美另类久久久品| 3d动漫精品啪啪一区二区竹菊| 欧美日本在线一区| 欧美人与禽zozo性伦| 欧美日韩aaaaaa| 欧美mv日韩mv国产网站| 久久日一线二线三线suv| 久久久午夜精品| 国产精品久久网站| 亚洲欧美日韩系列| 亚洲电影一级片| 蜜臀av在线播放一区二区三区| 精品影视av免费| 成人免费视频视频| 欧美日韩一区二区欧美激情| 日韩一级片网站| 中文子幕无线码一区tr | 日本一区免费视频| 亚洲色欲色欲www| 偷拍日韩校园综合在线| 久久精品国产一区二区三| 国产乱色国产精品免费视频| 91网站在线播放| 日韩亚洲欧美成人一区| 中文字幕精品一区二区精品绿巨人| 日韩一区日韩二区| 日韩精品电影在线| 成人动漫中文字幕| 69成人精品免费视频| 中文欧美字幕免费| 日日夜夜一区二区| 成人av电影在线播放| 欧美天堂亚洲电影院在线播放| 欧美va亚洲va| 亚洲成人www| 大白屁股一区二区视频| 欧美高清精品3d| 日本一区二区电影| 日本网站在线观看一区二区三区 | 日韩精品一区二区三区四区视频| 久久亚洲综合色一区二区三区| 亚洲制服丝袜av| 高清视频一区二区| 日韩一区二区三区在线| 亚洲午夜一区二区三区| 国产伦精品一区二区三区在线观看 | 日韩经典一区二区| 波多野结衣91| 欧美精品一区二区三区在线播放| 一区二区三区蜜桃| a美女胸又www黄视频久久| 精品美女在线播放| 日韩在线一区二区三区| 一本大道久久a久久综合婷婷 | 日韩一级二级三级| 亚洲大尺度视频在线观看| 成人黄色av电影| 国产无人区一区二区三区| 美女视频网站久久| 在线不卡中文字幕播放| 亚洲一区在线电影| 日本高清视频一区二区| 中文字幕一区二区三区在线不卡| 国产综合色产在线精品| 欧美xxxxx裸体时装秀| 美女一区二区三区在线观看| 欧美丰满一区二区免费视频| 亚洲精品国产品国语在线app| 成人一区二区三区在线观看| 国产亚洲人成网站| 国产**成人网毛片九色| 国产精品视频一二三| caoporm超碰国产精品| 中文字幕一区二区三区四区 | 国产精品丝袜在线| 波多野洁衣一区| 日韩毛片在线免费观看| 99精品视频在线播放观看| 综合激情网...| 91在线视频播放地址| 亚洲国产一区二区在线播放| 欧美亚洲高清一区二区三区不卡| 亚洲乱码国产乱码精品精的特点| 91在线免费播放| 日韩专区欧美专区| 久久精品欧美一区二区三区麻豆| 国产精品综合在线视频| 国产精品丝袜久久久久久app| 97久久精品人人做人人爽| 一区二区三区日韩欧美| 欧美性猛交xxxx黑人交| 青青国产91久久久久久| 国产亚洲欧美日韩在线一区| 成人国产精品免费观看动漫| 一区二区三区日韩| 精品日韩欧美在线| 一本色道久久综合亚洲91| 日韩国产欧美三级| 国产精品欧美一级免费| 欧美午夜精品久久久久久超碰| 日韩av网站在线观看| 欧美国产日韩在线观看| 在线观看91精品国产麻豆| 国产成人精品亚洲午夜麻豆| 一区二区三区日韩欧美精品 | 在线播放国产精品二区一二区四区| 日韩电影在线观看电影| 国产欧美中文在线| 欧美一区二区三区白人| 99精品视频在线观看| 蜜臀av国产精品久久久久| 自拍av一区二区三区| 欧美电影免费提供在线观看| 99综合电影在线视频| 麻豆91精品视频| 亚洲电影中文字幕在线观看| 日本一区二区三区电影| 3751色影院一区二区三区| 成人久久18免费网站麻豆| 秋霞午夜av一区二区三区| 亚洲理论在线观看| 国产蜜臀97一区二区三区| 日韩免费一区二区| 欧美日韩一区小说| 99久久综合精品| 国产一区二区三区四| 亚洲福利一二三区| 中文字幕综合网| 国产精品人人做人人爽人人添| 欧美第一区第二区| 宅男在线国产精品| 4438成人网| 欧美一级理论片| 欧美日本高清视频在线观看| 99久久精品情趣| 成人免费毛片高清视频| 国产成人夜色高潮福利影视| 美女一区二区在线观看| 日韩黄色片在线观看| 亚洲高清在线视频| 五月天激情综合|