ASP執行個體:用ASP編寫更人性化的快顯視窗程式,來幫我們製作一個不煩人的調查的方法。
用快顯視窗來顯示調查表,被認為是達到我們收集訪問使用者資訊的最方便快捷的方法。當製作出第一份調查表後,我們客氣的詢問人們是否願意填這份表,但結果卻令人失望。於是我們決定把這份調查表放到我們首頁裡,當人們訪問時就自動彈出,其效果出人意料的好。
下面就是我們成功的秘訣:
1:自動快顯視窗只能顯示一次,不管使用者是否填寫了調查表。
2:自動快顯視窗不能影響首頁的顯示速度。
3:自動快顯視窗在使用者填寫完調查表後,自動消失。
4: 自動快顯視窗顯示在螢幕的左上方。
5:自動快顯視窗裡不要加廣告,因為我們的目的是得到使用者的調查報告。
為了判斷是否快顯視窗,我們用了一個小小的cookie。我們定義一個cookie可以多次使用並且判斷多個快顯視窗。我們給這個cookie起名為“s”,它包含所有已經彈出的視窗的id。
現在,當使用者訪問首頁時,我們判斷請求的id是否已經包含在cookie中。如果cookie不存在,我們快顯視窗並且寫入cookie,以防止視窗再次彈出。
在下面的例子裡,我們在伺服器端寫入cookie,用javascript一樣可以實現,我們選擇伺服器端,是因為它比較簡單。
在我們首頁的最開始,我們執行一下asp代碼.這段代碼要放在HTML輸出之前,因為我們需要編輯header。
以下為引用的內容: <% Dim bSurvey ' 是否顯示調查表 const bID="1" ' 調查表的id bSurvey=false ' 檢查調查表是否已經顯示過 if instr(request.cookies("s"),":" & bID & ":")=0 then ' 調查表沒有顯示,更新cookie ' 設定cookie到期時間為60天 response.cookies("s").expires = DateAdd("d",60,now()) ' 設定路徑 response.cookies("s").path = "/" ' 寫入cookie response.cookies("s") = request.cookies("s") & ":" & bID & ":" bSurvey=true end if %> |
我們給每個調查表一個id,如果你有多個快顯視窗,可以很容易的有計劃的輸出。
我們在頁尾加入一段asp指令碼去判斷是否快顯視窗,這段指令碼方在頁末,不影響首頁的下載速度。這段指令碼十分簡單,它用window.open()來開啟新視窗。
以下為引用的內容: <% if bSurvey then %> <SCRIPT> window.open("/survey/displaysurvey.asp?q=" & bID,"SURVEY","width=350,height=400,top=0,left=0,scrollbars=yes") </SCRIPT> <% end if %> |