明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Asp編寫不再讓人討厭的自動彈出窗口

[摘要]自動彈出窗口是一個讓人討厭的事情,為什么我們用它來顯示我們的調(diào)查表呢?   用彈出窗口來顯示調(diào)查表,被認為是達到我們收集訪問用戶信息的最方便快捷的方法。當制作出第一份調(diào)查表后,我們客氣的詢問人們是否愿意填這份表,但結(jié)果卻令人失望。于是我們決定把這份調(diào)查表放到我們主頁里,當人們訪問時就自動彈出,其效...
自動彈出窗口是一個讓人討厭的事情,為什么我們用它來顯示我們的調(diào)查表呢?

  用彈出窗口來顯示調(diào)查表,被認為是達到我們收集訪問用戶信息的最方便快捷的方法。當制作出第一份調(diào)查表后,我們客氣的詢問人們是否愿意填這份表,但結(jié)果卻令人失望。于是我們決定把這份調(diào)查表放到我們主頁里,當人們訪問時就自動彈出,其效果出人意料的好。

  下面就是我們成功的秘訣:
  1:自動彈出窗口只能顯示一次,不管用戶是否填寫了調(diào)查表。
  2:自動彈出窗口不能影響主頁的顯示速度。
  3:自動彈出窗口在用戶填寫完調(diào)查表后,自動消失。
  4:   自動彈出窗口顯示在屏幕的左上方。
  5:自動彈出窗口里不要加廣告,因為我們的目的是得到用戶的調(diào)查報告。

  為了判斷是否彈出窗口,我們用了一個小小的cookie。我們定義一個cookie可以多次使用并且判斷多個彈出窗口。我們給這個cookie起名為“s”,它包含所有已經(jīng)彈出的窗口的id。

  現(xiàn)在,當用戶訪問主頁時,我們判斷請求的id是否已經(jīng)包含在cookie中。如果cookie不存在,我們彈出窗口并且寫入cookie,以防止窗口再次彈出。

  在下面的例子里,我們在服務(wù)器端寫入cookie,用javascript一樣可以實現(xiàn),我們選擇服務(wù)器端,是因為它比較簡單。

  在我們主頁的最開始,我們執(zhí)行一下asp代碼.這段代碼要放在HTML輸出之前,因為我們需要編輯header。

<%

Dim bSurvey ' 是否顯示調(diào)查表

const bID="1" ' 調(diào)查表的id
bSurvey=false

' 檢查調(diào)查表是否已經(jīng)顯示過

if instr(request.cookies("s"),":" & bID & ":")=0
then

' 調(diào)查表沒有顯示,更新cookie
' 設(shè)定cookie過期時間為60天

response.cookies("s").expires = DateAdd("d",60,now())

' 設(shè)定路徑

response.cookies("s").path = "/"

' 寫入cookie

response.cookies("s") = request.cookies("s") & ":"
& bID & ":"


bSurvey=true

end if

%>


  我們給每個調(diào)查表一個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 %>