用ASP編寫更人性化的彈出窗口程序_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:初學者的ASP教程:常用ASP內置函數
      函數,就是該語言封裝了的一個功能塊,以方便用戶的調用。比如“now()”在VBScript中就是一個能顯示出當前日期和時間的函數。至于具體為什么能顯示,則是該語言內核所定的,用戶只需

      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 %>

      分享:ASP入門:認識ASP程序所使用的幾種腳本語言
      在瀏覽器中通過查看源代碼的方式是無法看到ASP源代碼的,你只能看到由ASP文件輸出的結果,而那些只是純粹的HTML而已。這是因為,在結果被送回瀏覽器前,腳本已經在服務器執行了。 實例: 用

      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關ASP教程