亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > ASP > 正文

用ASP統(tǒng)計(jì)用戶在站點(diǎn)的停留時(shí)間

2019-11-18 20:53:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
雖然通常使用的點(diǎn)擊注冊(cè)技術(shù)可以計(jì)算出你的Web站點(diǎn)得到多少點(diǎn)擊,但是,如果能夠知道訪問(wèn)者在站點(diǎn)上停留了多長(zhǎng)時(shí)間就更好了。如果有上千人點(diǎn)擊并打開了你的主頁(yè),但他們卻在漂亮的“歡迎”圖形完全下載之前就已經(jīng)跑到別的站點(diǎn)去了,這樣,你所花在建設(shè)和維護(hù)站點(diǎn)上的投資就沒(méi)有得到很好的回報(bào)。

  有兩種很好的方法用來(lái)記錄用戶在你的站點(diǎn)上花費(fèi)了多少時(shí)間。第一個(gè)是使用基于asp服務(wù)器的sessions,第二是通過(guò)保持客戶機(jī)端cookies。要記住,使用sessions將給服務(wù)器的處理工作增加負(fù)荷,但是它們確實(shí)提供了最簡(jiǎn)潔的方法。還有一點(diǎn)要注意,那就是如果用戶端的瀏覽器不能支持cookie功能,那么這兩種方法都不能工作。

  

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

< 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

‘a(chǎn)ssumes 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)."

   ‘a(chǎn)dd 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 >

  你可以看到,當(dāng)session 結(jié)束時(shí),我們從當(dāng)前時(shí)間中減去了session 的timeout的數(shù)值,如果考慮到用戶裝載最后一頁(yè)時(shí)所花費(fèi)的時(shí)間,減去的值可以稍微小一點(diǎn)。這個(gè)數(shù)量由你去猜,因?yàn)橛眠@個(gè)技術(shù)并不能測(cè)出實(shí)際值。

  注意,如果你在任何頁(yè)面中使用了ASP的 Session.Abandon 方法,就不能得到正確的結(jié)果。因?yàn)檫@種方法立即中斷session,這樣,從實(shí)際時(shí)間中減去session長(zhǎng)度就會(huì)給出一個(gè)不正確的訪問(wèn)時(shí)間(有時(shí)候甚至是負(fù)數(shù))。更糟糕的是,在ASP 2.0版本中,這種方法還經(jīng)常徹底不能啟動(dòng)Session_OnEnd事件。

  在某些站點(diǎn)上使用一種“中止服務(wù)器操作”的鏈接來(lái)啟動(dòng)Session.Abandon方法,但是根據(jù)經(jīng)驗(yàn),很少有用戶會(huì)去點(diǎn)擊它。他們只是轉(zhuǎn)到另一個(gè)站點(diǎn),讓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).

  如果用戶訪問(wèn)的時(shí)間少于1分鐘(比如說(shuō),他們的session開始后過(guò)了1分鐘還沒(méi)能裝載另一頁(yè)),用我們的代碼就不顯示在列表中。從整個(gè)session長(zhǎng)度中減去這個(gè)session的timeout ,就會(huì)得到0,在這一點(diǎn)我們的代碼就將其舍棄:

  If intMinutes > 0 Then ?

  當(dāng)然你可以修改代碼以適應(yīng)自己的需要。

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

  

在數(shù)據(jù)庫(kù)中記錄結(jié)果
  要將計(jì)算的結(jié)果記錄數(shù)據(jù)庫(kù)中而不是日志文件中,可以創(chuàng)建一個(gè)適當(dāng)?shù)腟QL INSERT聲明,執(zhí)行它來(lái)更新一個(gè)你已經(jīng)提供的數(shù)據(jù)庫(kù)表:

...

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

...

  然后你就可以用任何方式來(lái)使用這些數(shù)據(jù)了。你可以創(chuàng)建ASP頁(yè)面來(lái)讀取數(shù)據(jù)并將數(shù)據(jù)呈現(xiàn)給管理員,或者從數(shù)據(jù)庫(kù)中將其復(fù)制到一個(gè)電子工作表中,有時(shí)間的時(shí)候再進(jìn)行分析。

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

  

“客戶機(jī)端Cookie”技術(shù)
  使用客戶機(jī)端Cookie也很容易。完成這一工作的代碼可以放在一個(gè)ASP #include 文件中,然后將它插入到站點(diǎn)中用戶肯定會(huì)去訪問(wèn)的主頁(yè)面中。當(dāng)然,如果愿意的話可以將其插入所有的頁(yè)面。只要在用戶訪問(wèn)的過(guò)程中它工作正常,就能給出正確的結(jié)果。

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

< %

‘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)."

   ‘a(chǎn)dd 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



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

...

‘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

   ...

  這時(shí),通過(guò)在頁(yè)面的頂端執(zhí)行UpdateLogFile子程序,我們已經(jīng)存儲(chǔ)了他們上一次訪問(wèn)的長(zhǎng)度, 這是他們上次訪問(wèn)的分鐘數(shù)。然后就可以把我們收集的兩個(gè)值更新成當(dāng)前的日期和時(shí)間,可以開始記錄這次訪問(wèn)的長(zhǎng)度了。

  要注意,30分鐘過(guò)去之后才能看到表格中的任何條目。在試驗(yàn)時(shí),你可以用一個(gè)較短的值來(lái)修改代碼。



記錄訪問(wèn)的時(shí)間長(zhǎng)度
   ...

   ‘update values for cookie

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

   datStart = Now()

   datLast = Now()

Else

   ...

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

   ...

   ‘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

...



設(shè)置默認(rèn)值
  這里的代碼只是在我們沒(méi)有從訪問(wèn)者那里得到一個(gè)有效的cookie時(shí)才會(huì)執(zhí)行,因此我們所能做的就是使用一個(gè)當(dāng)前日期和時(shí)間的新cookie來(lái)得到最后一次訪問(wèn)的開始和最后的數(shù)值:

...

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

datStart = Now()

datLast = Now()

End If

...



創(chuàng)建返回Cookie值
  現(xiàn)在,我們已經(jīng)涉及到了cookie中現(xiàn)存值的所有可能的情況,并且我們把新的cookie值存儲(chǔ)在datStart和datLast變量中。這樣我們就可以創(chuàng)建發(fā)送回這個(gè)訪問(wèn)者的cookie了。注意,每次我們都要重新創(chuàng)建整個(gè)cookie,因?yàn)楫?dāng)試圖修改其中一個(gè)值而更新cookie時(shí),會(huì)破壞其它的所有現(xiàn)存值:

...

‘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 = "/" ‘a(chǎn)pply to entire site



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

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

% >

  cookie技術(shù)的一個(gè)問(wèn)題是當(dāng)訪問(wèn)者重新回到你的站點(diǎn)時(shí),你只能測(cè)量他上次訪問(wèn)的長(zhǎng)度。為此,我們?cè)试Scookie在他們的機(jī)器上存在3個(gè)月,你可以修改這個(gè)時(shí)間值來(lái)適應(yīng)你的需求。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

成年男人的天堂| 欧美男人天堂| 夜夜骑日日操| 成人动漫在线观看视频| 99热在线观看| 精品国产亚洲一区二区三区在线| 亚洲精品影院在线观看| 精品无码久久久久久久动漫| 美女视频一区二区三区| 成人动漫视频在线观看| 九九热线有精品视频99| 91日韩精品视频| www.久久久久久| 99久久精品国产亚洲| 国产不卡一卡2卡三卡4卡5卡在线| 亚洲男人7777| 日韩成人av电影在线| 亚洲免费视频播放| japanese国产在线观看| 怡红院av一区二区三区| 黄色av网址在线免费观看| 国产国语刺激对白av不卡| 欧美三级视频| 日本午夜精品久久久| 亚洲精品国产欧美在线观看| 91高清视频在线观看| 粉嫩av一区二区夜夜嗨| 男人的天堂在线播放| 国产在线国偷精品免费看| 亚洲午夜精品久久久久久浪潮| 久久社区一区| 国产女人水真多18毛片18精品视频| 亚洲av中文无码乱人伦在线视色| 一卡二卡三卡四卡| 少妇久久久久久被弄高潮| 亚洲免费在线播放视频| 欧美网站免费| 欧美一区二粉嫩精品国产一线天| 一区二区三区四区视频免费观看| 国产精品网红福利| 亚洲第一二三四区| 亚洲欧美日韩精品永久在线| 国产欧美88| 2018天天操夜夜操| 亚洲aaa精品| 欧美s码亚洲码精品m码| 日韩精品无码一区二区三区免费| 两个人看的在线视频www| 乱码一区二区三区| 亚洲人成伊人成综合网小说| 国产一区二区三区日韩欧美| 欧美日韩国产一二三| 青青草免费在线视频| 欧美婷婷六月丁香综合色| 亚洲 欧美 中文字幕| 成人av网站在线观看免费| 亚洲免费在线观看| 成人久久18免费网站麻豆| 亚洲热app| 黄色一级片中国| 夜夜嗨一区二区| h网在线观看| 欧美r级电影在线观看| 国产永久精品大片wwwapp| 日韩高清影视在线观看| 久久av老司机精品网站导航| 毛毛毛毛毛毛毛片123| 极品尤物一区| 亚洲自拍中文字幕| 一区二区三区免费视频播放器| 夜夜操 天天摸| 久久久久久69| a毛片毛片av永久免费| 色yeye免费人成网站在线观看| 99九九99九九九99九他书对| 豆花视频一区| 欧美aⅴ一区二区三区视频| 久久精品国产99精品国产亚洲性色| 网曝91综合精品门事件在线| 亚洲第一色视频| 一级日韩一区在线观看| 日韩在线成人| 蜜桃视频第一区免费观看| 一区二区三区www| 乱精品一区字幕二区| 国产精品电影一区二区三区| 日韩久久不卡| 免费中文字幕av| www.日本一区| 亚洲国产资源| 韩国三级在线一区| 日韩久久99| 国产经典中年夫妇盗摄| 欧美超强性xxxxx| 男人操女人免费网站| 日韩一区二区三区四区区区| 日本不卡一区在线| 在线观看精品一区二区三区| 成年人免费视频观看| japanese中文字幕| 精品在线一区二区三区| 泷泽萝拉在线播放| 在线观看精品视频| av在线不卡网站| 丰满肉嫩西川结衣av| 日本亚洲一区二区三区| www..com.cn蕾丝视频在线观看免费版| 久久久久久久影视| 日韩 欧美 精品| 欧美日韩国产小视频在线观看| 久久综合久久综合亚洲| eeuss中文字幕| 欧美影院午夜播放| 久久久综合av| 亚洲一区二区小说| 男女爽爽爽视频| 黄视频在线播放| 人人插人人干| 亚洲精品久久一区二区三区777| 精品人伦一区二区三区蜜桃免费| 在线成人免费av| 人人妻人人澡人人爽精品日本| 99久久久精品免费观看国产| 欧美日韩亚洲一区| 国产精品66| 独立日3在线观看完整版| 亚洲在线成人精品| 亚洲av无码国产精品麻豆天美| 国产精品酒店视频| 久久精品青草| 欧美黑人巨大videos精品| 高清视频欧美一级| 亚洲精品国产美女| 91啦中文在线观看| 911亚洲精品| 国内自拍九色| 国产日韩欧美精品一区二区三区| 国产激情在线观看| julia中文字幕一区二区99在线| 日韩一区免费观看| 久久精品99久久香蕉国产色戒| 成人欧美一区二区三区黑人麻豆| 国v精品久久久网| 78国产伦精品一区二区三区| 欧美综合久久久| 国产精品一区久久久久| 欧美一区二区激情视频| 欧美手机在线观看| 成人免费视频观看| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲综合色激情五月| 亚洲人成欧美中文字幕| 国产欧美日韩在线观看| 在线观看一区二区三区视频| 久久久久91| 亚洲成人资源网| 一区二区三区欧美精品| 亚洲欧美日韩精品久久久久| 亚洲高清成人| 亚洲精品一区二区三区在线播放| 欧美色网址大全| 国产精品无码在线播放| 999久久久国产精品| 亚洲va久久| 欧美一级片久久久久久久| 精品久久国产精品| 黄色一级一级片| 丰满少妇在线观看bd| 日韩一区二区三区av| 成人福利网站在线观看11| 久久夜色精品亚洲| 国产精品区二区三区日本| 成人乱码手机视频| 自拍视频网站| www.亚洲色图.com| 蜜桃a∨噜噜一区二区三区| 日韩精品免费视频| 杨钰莹一级淫片aaaaaa播放| 亚洲一区二区三区影院| 香蕉视频1024| 香蕉视频黄色在线观看| 亚洲欧美综合色| 国产电影一区在线| 青青青免费在线视频| 久久性生活视频| 国产成人av一区| 天堂在线视频观看| 在线观看国产精品91| 免费看三级黄色片| 日韩欧美美女一区二区三区| 蜜臀av色欲a片无码精品一区| 亚洲成年人视频| 日本在线精品视频| 好男人看片在线观看免费观看国语| 一级黄色片网站| 亚洲一区二区三区sesese| 色偷偷网站视频| 91欧美日韩一区| 成人三级做爰av| 在线天堂资源| h网站在线免费观看| 欧美日韩视频第一区| 亚洲熟妇国产熟妇肥婆| 七七成人影院| 影音先锋日韩有码| 亚洲乱码在线观看| 亚洲综合在线五月| av官网在线观看| 少妇性l交大片| 激情久久久久| 九色自拍论坛| 欧美日韩国产综合视频| 免费性色视频| 成人欧美视频在线观看播放| 亚洲韩国青草视频| 欧美一级片久久久久久久| 国产成人精品18| 3d动漫啪啪精品一区二区免费| 日韩一卡二卡三卡四卡| 免费在线观看日韩欧美| 国产suv精品一区二区| 欧美成人福利在线观看| 成人在线观看小视频| 成人三级在线视频| 日日夜夜人人| 日本少妇高清视频| 日本一区二区三区高清不卡| 色啪免费观看视频| 亚洲激情成人网| 四虎永久免费网站| 中文字幕亚洲欧美| 欧美成人黄色网| 国产精欧美一区二区三区| 国产又粗又猛又色又| 黄色在线免费网站| 亚洲少妇一区二区| 在线天堂中文字幕| 亚洲精品在线国产| 欧美人成免费网站| xxxxxx黄色| 亚洲精品一区二区三区精华液| 姬川优奈aav一区二区| 国产精品豆花视频| 一级日本免费的| 免费观看国产精品| julia一区二区三区中文字幕| 国产一区二区三区站长工具| 男人天堂网av| 成人国产精品| 亚洲成人男人天堂| 国产一级二级毛片| 亚洲国产精品久久久久秋霞影院| 成人毛片100部免费看| youjizz.com在线观看| 亚洲综合国产激情另类一区| 91深夜福利| 韩国av一区二区三区四区| 亚洲欧洲国产日韩| 国产欧美一区二区三区在线老狼| 亚洲精品在线观看91| 国产精品第一| 玛雅亚洲电影| 亚洲综合在线网站| 欧美a在线看| 国产成人综合视频| 97超级碰碰碰| 欧美激情奇米色| 国产a级全部精品| 国产av熟女一区二区三区| 综合欧美视频一区二区三区| 欧区一欧区二欧区三| 免费国产成人av| 欧美亚洲色图校园春色| 久久久久久国产精品久久| 九九视频在线播放| 香港三级经典全部种子下载| 国产成人av电影免费在线观看| 国产伦精品免费视频| 伊人色综合久久久| aiai久久| 国产亚洲一区二区在线| 99视频免费| 亚洲精品久久久久久久久| 精品欠久久久中文字幕加勒比| 国产污在线观看| 隔壁人妻偷人bd中字| av成人午夜| 99久久国产综合精品色伊| 精品在线免费观看视频| 小视频在线播放| 97免费中文视频在线观看| 国产午夜精品视频一区二区三区| 亚洲一区免费视频| 亚洲精品一区二区三区香蕉| 中文字幕在线字幕中文| 高潮一区二区三区乱码| 欧美激情久久久| 成年网站免费入口在线观看| 手机看片福利盒子久久| 狠狠鲁狠狠操| 亚洲一二在线观看| 国产成人在线播放| 久久99精品久久久野外观看| 亚洲日本理论电影| a欧美人片人妖| 日本免费www| 91色porny蝌蚪| 警花av一区二区三区| 二区三区四区高清视频在线观看| 菠萝蜜视频在线观看入口| 国产欧美一区二区三区在线老狼| 亚洲一区二区视频在线观看| 久久人人爽爽爽人久久久| 激情在线小视频| 国产精品自拍片| 成人羞羞视频免费看看| 狠狠色狠狠色综合人人| 亚洲精品一区二区| 精品人妻一区二区色欲产成人| 天天av天天爱| 亚洲av无码精品一区二区| 欧美做受xxxxxⅹ性视频| 欧美在线观看视频一区二区| 欧洲亚洲成人| 善良的小姨在线| 性欧美ⅴideo另类hd| 福利视频久久| 国产精品资源站|