一個(gè)不太讓人討厭的自動(dòng)彈出窗口
更新時(shí)間:2008年04月20日 20:15:32 作者:
如何讓一個(gè)彈出窗口不讓人討厭是個(gè)問題自動(dòng)彈出窗口是一個(gè)讓人討厭的事情,為什么我們用它來顯示我們的調(diào)查表呢?
用彈出窗口來顯示調(diào)查表,被認(rèn)為是達(dá)到我們收集訪問用戶信息的最方便快捷的方法。當(dāng)制作出第一份調(diào)查表后,我們客氣的詢問人們是否愿意填這份表,但結(jié)果卻令人失望。于是我們決定把這份調(diào)查表放到我們主頁(yè)里,當(dāng)人們?cè)L問時(shí)就自動(dòng)彈出,其效果出人意料的好。
下面就是我們成功的秘訣:
1:自動(dòng)彈出窗口只能顯示一次,不管用戶是否填寫了調(diào)查表。
2:自動(dòng)彈出窗口不能影響主頁(yè)的顯示速度。
3:自動(dòng)彈出窗口在用戶填寫完調(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)用戶訪問主頁(yè)時(shí),我們判斷請(qǐng)求的id是否已經(jīng)包含在cookie中。如果cookie不存在,我們彈出窗口并且寫入cookie,以防止窗口再次彈出。
在下面的例子里,我們?cè)诜?wù)器端寫入cookie,用javascript一樣可以實(shí)現(xiàn),我們選擇服務(wù)器端,是因?yàn)樗容^簡(jiǎn)單。
在我們主頁(yè)的最開始,我們執(zhí)行一下asp代碼.這段代碼要放在HTML輸出之前,因?yàn)槲覀冃枰庉媓eader。
<%
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過期時(shí)間為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
%>
我們給每個(gè)調(diào)查表一個(gè)id,如果你有多個(gè)彈出窗口,可以很容易的有計(jì)劃的輸出。
我們?cè)陧?yè)尾加入一段asp腳本去判斷是否彈出窗口,這段腳本方在頁(yè)末,不影響主頁(yè)的下載速度。這段腳本十分簡(jiǎn)單,它用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 %>
下面就是我們成功的秘訣:
1:自動(dòng)彈出窗口只能顯示一次,不管用戶是否填寫了調(diào)查表。
2:自動(dòng)彈出窗口不能影響主頁(yè)的顯示速度。
3:自動(dòng)彈出窗口在用戶填寫完調(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)用戶訪問主頁(yè)時(shí),我們判斷請(qǐng)求的id是否已經(jīng)包含在cookie中。如果cookie不存在,我們彈出窗口并且寫入cookie,以防止窗口再次彈出。
在下面的例子里,我們?cè)诜?wù)器端寫入cookie,用javascript一樣可以實(shí)現(xiàn),我們選擇服務(wù)器端,是因?yàn)樗容^簡(jiǎn)單。
在我們主頁(yè)的最開始,我們執(zhí)行一下asp代碼.這段代碼要放在HTML輸出之前,因?yàn)槲覀冃枰庉媓eader。
<%
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過期時(shí)間為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
%>
我們給每個(gè)調(diào)查表一個(gè)id,如果你有多個(gè)彈出窗口,可以很容易的有計(jì)劃的輸出。
我們?cè)陧?yè)尾加入一段asp腳本去判斷是否彈出窗口,這段腳本方在頁(yè)末,不影響主頁(yè)的下載速度。這段腳本十分簡(jiǎn)單,它用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 %>
相關(guān)文章
防止網(wǎng)站被采集的理論分析以及十條方法對(duì)策
很多防采集方法在施行的時(shí)候需要考慮是否影響搜索引擎對(duì)網(wǎng)站的抓取,所以先來分析下一般采集器和搜索引擎爬蟲采集有何不同。2009-04-04ASP中用ajax方式獲得session的實(shí)現(xiàn)代碼
前期做的時(shí)候,登錄方式順手用了ajax來做,登錄前先判斷在session中是否存在值,如果存在,那么無需登錄;如果不存在,那就彈出登錄頁(yè)面登錄。2011-05-05asp兩組字符串?dāng)?shù)據(jù)比較合并相同數(shù)據(jù)
兩組字符串?dāng)?shù)據(jù),需要比較其中相同的數(shù)據(jù),并將其值相加并組成一個(gè)新的字符串?dāng)?shù)據(jù)2008-08-08.NET中實(shí)現(xiàn)高精度定時(shí)器的思路
一個(gè)定時(shí)器至少需要考慮三部分功能:計(jì)時(shí)、等待、觸發(fā)模式。計(jì)時(shí)是進(jìn)行時(shí)間檢查,調(diào)整等待的時(shí)間;等待則是用來跳過指定的時(shí)間間隔。觸發(fā)模式是指定時(shí)器每次Tick的時(shí)間固定還是每次定時(shí)任務(wù)時(shí)間間隔固定,本文將討論高精度定時(shí)器實(shí)現(xiàn)的思路,一起看看吧2023-12-12ASP實(shí)現(xiàn)長(zhǎng)文章分頁(yè)
ASP實(shí)現(xiàn)長(zhǎng)文章分頁(yè)...2007-02-02使用ASP控制指定站點(diǎn)解析腳本語言函數(shù)
使用ASP控制指定站點(diǎn)解析腳本語言函數(shù)...2007-01-01