自動(dòng)彈出窗口是一個(gè)讓人討厭的事情,為什么我們用它來(lái)顯示我們的調(diào)查表呢? 用彈出窗口來(lái)顯示調(diào)查表,被認(rèn)為是達(dá)到我們收集訪問(wèn)用戶信息的最方便快捷的方法。當(dāng)制作出第一份調(diào)查表后,我們客氣的詢問(wèn)人們是否愿意填這份表,但結(jié)果卻令人失望。于是我們決定把這份調(diào)查表放到我們主頁(yè)里,當(dāng)人們?cè)L問(wèn)時(shí)就自動(dòng)彈出,其效果出人意料的好。
下面就是我們成功的秘訣: 1:自動(dòng)彈出窗口只能顯示一次,不管用戶是否填寫(xiě)了調(diào)查表。 2:自動(dòng)彈出窗口不能影響主頁(yè)的顯示速度。 3:自動(dòng)彈出窗口在用戶填寫(xiě)完調(diào)查表后,自動(dòng)消失。 4: 自動(dòng)彈出窗口顯示在屏幕的左上方。 5:自動(dòng)彈出窗口里不要加廣告,因?yàn)槲覀兊哪康氖堑玫接脩舻恼{(diào)查報(bào)告。
為了判斷是否彈出窗口,我們用了一個(gè)小小的cookie。我們定義一個(gè)cookie可以多次使用并且判斷多個(gè)彈出窗口。我們給這個(gè)cookie起名為“s”,它包含所有已經(jīng)彈出的窗口的id。 現(xiàn)在,當(dāng)用戶訪問(wèn)主頁(yè)時(shí),我們判斷請(qǐng)求的id是否已經(jīng)包含在cookie中。如果cookie不存在,我們彈出窗口并且寫(xiě)入cookie,以防止窗口再次彈出。 在下面的例子里,我們?cè)诜⻊?wù)器端寫(xiě)入cookie,用javascript一樣可以實(shí)現(xiàn),我們選擇服務(wù)器端,是因?yàn)樗容^簡(jiǎn)單。 在我們主頁(yè)的最開(kāi)始,我們執(zhí)行一下asp代碼.這段代碼要放在HTML輸出之前,因?yàn)槲覀冃枰庉媓eader。
<%
Dim bSurvey ' 是否顯示調(diào)查表
const bID="1" ' 調(diào)查表的id bSurvey=false
' 檢查調(diào)查表是否已經(jīng)顯示過(guò)
if instr(request.cookies("s"),":" & bID & ":")=0 then
' 調(diào)查表沒(méi)有顯示,更新cookie ' 設(shè)定cookie過(guò)期時(shí)間為60天
response.cookies("s").expires = DateAdd("d",60,now())
' 設(shè)定路徑
response.cookies("s").path = "/"
' 寫(xiě)入cookie
response.cookies("s") = request.cookies("s") & ":" & bID & ":"
bSurvey=true
end if
%> 我們給每個(gè)調(diào)查表一個(gè)id,如果你有多個(gè)彈出窗口,可以很容易的有計(jì)劃的輸出。
我們?cè)陧?yè)尾加入一段asp腳本去判斷是否彈出窗口,這段腳本方在頁(yè)末,不影響主頁(yè)的下載速度。這段腳本十分簡(jiǎn)單,它用window.open()來(lái)打開(kāi)新窗口。
<% 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 %>
|