程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於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 %> 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved