国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

ASP 3.0高級編程(二14)

ASP 3.0高級編程(二14)

更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

(1)    創建一個內容頁面
我們已經使用Content Linking組件為本章提供的示例創建了菜單頁面。Chapter06文件夾中的頁面Default.htm采用上述代碼創建菜單,如圖6-2所示:

圖6-2  使用Content Linking組件創建的菜單頁面
       可以看到內容鏈接列表文件的內容顯示在鏈接的下面,我們使用FileSystemObject對象完成這一工作。
       <%
       'create an instance of a FileSystemObject object
       Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

       'open the text file as a TextStream object
       Set objTStream = objFSO.OpenTextFile(Server.MapPath("contlink.txt"), ForReading)
       Response.Write objTStream.ReadAll                          'read the whole file and put into page
       ObjTStream.Close
       %>
       如果你編輯了contlink.txt文件,下次再次調用這個頁面時,會看到菜單的條目發生了變化。注意文件中的最后三個條目,這三個條目使用前面介紹的redirect.asp技術,把絕對(而不是相對)的URL插入到列表中。
(2)    瀏覽這些頁面
創建一個Content Linking組件實例并且使用它的一個方法時,將把當前頁面的URL與指定的內容鏈接列表文件中的條目相匹配。不僅能用該組件創建一個內容列表(就像剛看到的那樣),而且當在瀏覽器上打開其中一個頁面時,可以用該組件對列表中的各個頁面進行導航。
這意味著可以用超鏈接或按鈕從這些頁面中的一個移到另一個。例如,可以給頁面添加Next和Back按鈕,通過使用GetNextURL和GetPreviousURL方法能知道列表中的哪一個頁面是前一個,哪一個頁面是下一個。另一方面,能用GetNthURL方法跳到列表中的任何頁面,用GetListIndex方法能知道當前頁面在列表中的位置。
下面是一段給頁面添加Next和Back按鈕的代碼,我們要做的只是把這段程序放在內容鏈接文件所列出的每一頁中,或者用SSI的#include指令將它插入其中。
<!-- need a form to force Navigator to display the buttons -->
<FORM ACTION="">
<%
'we'll insert this into each page using an SSI #include statement
'create an instance of the Content Linking component
Set objNextLink = Server.CreateObject("MSWC.NextLink")
'set the content linking list file path and name
strListFile = "contlink.txt"
'get the index of the current page in the list
intThisPage = objNextLink.GetListIndex(strListFile)
If intThisPage > 1 Then  'can go back
%>
  <INPUT TYPE=BUTTON VALUE="< Back"
     ONCLICK="location.href='<% = objNextLink.GetPreviousURL(strListFile) %>';"
     TITLE="Go to '<% = objNextLink.GetPreviousDescription(strListFile) %>'">
  &nbsp;
<%
End If
%>
<INPUT TYPE=BUTTON VALUE=" Menu " ONCLICK="location.href='Default.asp';"
       TITLE="Return to the main 'Installable Components' menu">
<%
If intThisPage < objNextLink.GetListCount(strListFile) Then  'can go forward
%>
  &nbsp;
  <INPUT TYPE=BUTTON VALUE="Next >"
         ONCLICK="location.href='<%= objNextLink.GetNextURL(strListFile) %>';"
         TITLE="Go to '<% = objNextLink.GetNextDescription(strListFile) %>'">
<%
End If
%>
</FORM>
第一步是創建Content Linking組件,然后把列表文件名存入一個變量中,以便后面在創建頁面里的客戶端JScript代碼時能夠使用這個列表文件。另外這樣做也便于頁面的維護,因為如果想使用一個不同文件名僅需在一個地方改變就可以了。
現在讓我們了解一下在鏈接列表中所處的位置。GetListIndex方法提供當前頁面的索引號,從列表中的第一頁開始。如果當前頁面的索引號比1大,那么可以后退,所以我們在頁面中創建Back按鈕。如果當前頁面的索引號比列表中的項數少,創建Next按鈕。頁面中總是包括一個Home按鈕,以便訪問者在任何時候都能輕易地返回到內容頁面。
如果打開列在主菜單中的頁面之一的話,將會看到使用這項技術在每個頁面上創建的一系列導航按鈕,創建按鈕的代碼在文件contlinkbuttons.inc中,可用#include指令將它插入每個頁面中。圖6-3所示為帶有按鈕的界面。

圖6-3  帶有按鈕的界面
       在圖6-3中有三個按鈕,使用GetPreviousDescription方法獲得上個頁面的鏈接文件,并把這個文本放入Back按鈕的TITLE屬性中,作為彈出的提示。
       <INPUT TYPE=BUTTON VALUE="< Back"
ONCLICK="location.href='<% = objNextLink.GetPreviousURL(strListFile) %>';"
          TITLE="Go to '<% = objNextLink.GetPreviousDescription(strListFile) %>'">
       Next按鈕采用GetNextDescription方法完成類似的工作。
(3)    用JavaScript跳轉
這些導航按鈕使用JavaScript(而不是VBScript)裝載新頁面,這樣就能夠和大多數現代瀏覽器兼容。例如Back按鈕包含下面的屬性:
ONLICK="location.here='<% = objNextLink.GetPreviousURL(strListFile) %>'; "
當頁面的HTML版本由ASP創建時,在<%…%>標記中的表達式用其數值取代,所以發往瀏覽器的網頁看起來如下所示:
ONCLICK="location.herf='permissionchecker.asp'; "
為什么選擇使用變量來表示內容鏈接列表文件的名字?其原因是在單個語句中包括一個三層的嵌套引用是非常麻煩的。
注意瀏覽器的缺省語言是JavaScript(或IE中的JScript),而不是VBScript,通過使用JavaScript,可以避免在OnClick代碼中必須提供LANGUAGE參數,同時對非IE瀏覽器提供兼容性。

6.2.3 Ad Rotator組件
       Ad Rotator組件允許瀏覽器在引用ASP頁面時每次顯示不同的圖像,這項技術經常用在顯示廣告的站點上。每次打開或重新載入頁面時,ASP采用“旋轉調度文件”(rotator schedule file)中的信息選擇一副圖像,并插入網頁中。然而Ad Rotator組件能做更復雜的工作,它可以把圖像設置成超級鏈接而不是一副靜止的圖像,并能記錄用戶對每個廣告的點擊次數。
       在本章所介紹的組件中,Ad Rotator組件可能是最難使用的,因為它涉及幾個不同的文件。在查看每個文件之前,圖6-4所示的工作過程總覽可能有助于了解它們之間的組合方式。

圖6-4  Ad Rotator組件的工作過程總覽
1.  旋轉調度文件
Ad Rotator組件依賴于該文件來指定顯示的廣告或圖像。這個文件包括每個圖像文件的名字、顯示的尺寸大小以及顯示時間的相對百分數。該文件分為兩部分,由一個僅含有一個星號(*)的行分隔。
文件格式如下:
REDIRECT URL
WIDTH width
HEIGHT height
BORDER border
*
adURL
adHomeURL
text
impressions
其中:
· URL是執行重新定向的ASP文件或程序的虛擬路徑及名稱。
· width和height定義了頁面中廣告條的大小(以像素為單位),缺省值為440×60。
· border規定了廣告條邊界的寬度(以像素為單位),缺省值為1,無邊界時為0。
第一部分是可選的,設置應用于該文件中所有廣告條的缺省值。這給設置所有圖像的參數提供了一種方法,邊界寬度可以使用Ad Rotator組件中的border屬性來設置。如果忽略了一項或多項此類任選參數,而且沒有明確設置對象屬性,那么參數就使用其本身和缺省值。如果忽略所有這些參數,仍需包含“*”作為文件的第一行。
第二部分,即“*”后的部分,必須存在于該文件中,它提供了各個廣告條的細節。對于每個廣告條,下面四個參數要重復使用。這些參數是:
· adURL,是廣告圖像文件的虛擬路徑和文件名。
· adHomeURL,是廣告跳轉到的URL,連字符(-)表明該廣告條沒有鏈接。
· text,瀏覽器不支持圖型文件時顯示的文本。
· impressions,是一個整數,指明了此廣告條顯示的相對時間或時間比率,例如一個文件包含三個廣告條,而且它們的impressions值分別設置為4、6和10,那么表明返回的頁面中有20%可能出現第一個廣告條,30%出現第二個廣告條,50%出現第三個廣告條。這沒有指明廣告條在瀏覽器中顯示的實際時間。注意每一個廣告條的實際出現是隨機的,并被修改以達到需要的比率。
下面看一個重新定向文件的例子:
REDIRECT AdRotFiles/ad_redirect.asp
WIDTH 400
HEIGHT 50
*
Adrotfiles/wrox.gif
http://www.wrox.com/
Better Books from Wrox press
3
AdRotFiles/lunar.gif
http://www.going-to-the-moon.com/store.asp
Acme Lunar Boost Supplies
1
2.  Ad Rotator組件的成員
Ad Rotator組件含有一個方法和三個屬性,方法如表6-2所示:
表6-2  Ad Rotator組件的方法及說明
方 法
說 明

GetAdvertisement(schedule_file)
使用指定的schedule_file中的信息創建并返回一個字符串,這個字符串含有把下一個合適的圖像插入到該頁面所需的HTML

       屬性如表6-3所示:
屬 性
說 明

Border
整數型,是指廣告條邊界的寬度(以像素為單位),若未設定,則采用文件第一部分設定的值

Clickable
布爾型,規定廣告欄圖像文件是否顯示為一個超級鏈接,缺省值為True

TargetFram
字符串型,目標框(frame)的名字。如果用戶點擊圖像文件的話,這個框用于顯示廣告主的頁面。如果忽略的話,頁面裝載到當前瀏覽器的目標框或窗口內,取代含有廣告欄圖像的頁面,這個屬性也能設置成一個標準的HTML框標識:_top、_new、_child、_self、_parent和_blank

3.  使用Ad Rotator組件
下面的代碼說明了Ad Rotator組件的使用。創建了組件實例之后,設置屬性參數并調用GetAdvertisement方法,指定調度文件的相對物理路徑。由組件返回的HTML代碼通過使用Response.Write方法插入到頁面中。
<%  'VBScript example
QUOT = Chr(34)
Set objAdRot = Server.CreateObject("MSWC.AdRotator")
objAdRot.Border=0                   'no border
objAdRot.Clickable=TRUE             'is a hyperlink
objAdRot.TargetFrame="fraAdFrame"   'load into new window named fraAdFrame
strHTML = objAdRot.GetAdvertisement("AdRotFiles\ad_schedule.txt")
Response.Write(strHTML)             'put the HTML into the page
%>
GetAdvertisement方法的參數是相對于當前目錄或Web網站根目錄的調度文件物理路徑和文件名。在上面的代碼中,此文件取名為AdRotFiles,位于包含正在運行的ASP頁面的當前目錄下的子目錄中。如果這個文件存入Web網站根目錄下的AdRotFiles子目錄,應使用“\AdRotFiles\MyAdFile.txt”。
調用GetAdvertisement方法時,返回能插入網頁中用于創建廣告欄的HTML代碼,對于上例中的旋轉調度文件中的第一個廣告欄,可以得到下列代碼:
<A HREF=http://www.okasp.com/techinfo/"/AdRotFiles/AdRedirect.asp?
       url=http://www.wrox.com/&image=/AdRotFiles/AdPics/wrox.gif">
<IMG SRC=http://www.okasp.com/techinfo/"/AdRotFiles/AdPics/wrox.gif"
       ALT="Better Books from Wrox Press" WIDTH=440 HEIGHT=60 BORDER=0></A>
可以看到在常規的<A>標記中放置了圖像文件,HREF屬性設置為重定向文件的名稱AdRedirect.asp,同時廣告主的主頁URL和所用的圖像添加到查詢字符串中,因此當用戶點擊廣告欄時,重定向文件將在服務器上載入并運行。
4.  重定向文件
重定向文件可以是一個ASP頁面、一個ISAPI DLL或者是一個CGI應用程序,無論是哪一種,它必須能夠接受和辨別廣告主的主頁URL以及圖像名參數。它檢查這些值并決定下一步該做什么。例如通常會把用戶重新定向到與此廣告欄有關的URL,這一點使用下面的VBScript代碼很容易實現。
Response.Redirect Request.QueryString("url")
然而,重新定向文件提供給我們的不僅僅是這些。例如可以統計點擊每個廣告的用戶數量,如果根據點擊數收到廣告費用的話,這將顯得尤其有用。也可以用本章后面介紹的Counters組件來完成這項工作。

'get the URL of the advertiser's target page
strAdvertiserURL = Request.QueryString("url")
If Instr(strAdvertiserURL, "wrox.com") Then
   objCounters.Increment("wrox")
   Response.Clear
   Response.Redirect strAdvertiserURL
End If

If Instr(strAdvertiserURL, "going-to-the-moon") Then
   objCounters.Increment("lunar")
   Response.Clear
   Response.Write "Sorry, this isn't a real site..."
End If

.. 'same for other advertisers

查詢字符串包含圖像文件名時,在腳本中也要考慮這一點,如果在調度文件中,同一廣告主有三種不同的圖像,可以對每個圖像單獨地跟蹤訪問次數。

If Instr(strAdvertiserURL, "wrox.com") Then
'this is an advert for the Wrox Press site
       Select Case Request.QueryString("image")
              Case "books.gif"
                     objCounters.Increment("wrox_books")
              Case "website.gif"
                     objCounters.Increment("wrox_site")
              Case Else
                     objCounters.Increment("wrox_other")
       End Select
       Response.Clear
       Response.Redirect strAdvertiserURL
End If

5.  一個Ad Rotator示例頁面
本章提供的示例文件包括一個Ad Rotator組件演示程序,它能夠從前面見過的ASP Installable Components主菜單中打開。頁面的上部顯示的是一個由名為ad_schedule.txt的旋轉調度文件定義的廣告(可在本章示例目錄下的Ad RotFiles子目錄中找到ad_shedule.txt),如圖6-5所示:

圖6-5  Ad Rotating頁面的示例
使用的代碼前面已經討論過,這里在調度文件中僅增加了另外一些條目,以便更清楚地顯示載入頁面時的廣告的變化情況。如果點擊一個廣告,將運行名為ad_redirect.asp的重定向文件中的代碼,并且相應的廣告主的頁面在新的窗口里打開。完成該工作的代碼和前面見到的相同。
在重定向文件中,可使用計數器(由Counters組件創建)實例存儲每個廣告的點擊次數。

If Instr(strAdvertiserURL, "wrox.com") Then
   objCounters.Increment("wrox")
   Response.Clear
   Response.Redirect strAdvertiserURL
End If
…此頁面的其余部分演示了Counters組件的作用,下面介紹該組件。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        免费观看在线综合| 国产精品毛片久久久久久久| 欧美一区二区福利在线| 亚洲午夜成aⅴ人片| 欧美日韩国产一二三| 亚洲成a人片在线不卡一二三区| 欧美在线三级电影| 午夜亚洲国产au精品一区二区| 欧美中文字幕一区| 日韩高清在线不卡| 久久久久国产精品免费免费搜索| 国产美女一区二区| 亚洲欧洲精品一区二区三区 | 在线91免费看| 欧美bbbbb| 中文字幕不卡三区| 欧美片在线播放| 国产一区二区伦理片| 国产精品久久久久久福利一牛影视 | 一本色道亚洲精品aⅴ| 亚洲va欧美va人人爽| 久久午夜免费电影| 91国产丝袜在线播放| 热久久国产精品| 欧美国产精品专区| 欧美老女人在线| 不卡视频免费播放| 丝袜诱惑制服诱惑色一区在线观看| 26uuu国产在线精品一区二区| jlzzjlzz欧美大全| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕视频一区| 欧美不卡一区二区| 欧美日韩在线精品一区二区三区激情 | 日本高清不卡视频| 欧美一区二区三区免费在线看 | 日韩欧美专区在线| 另类专区欧美蜜桃臀第一页| 久久精品视频免费| 日韩中文字幕不卡| 国产欧美日韩亚州综合| 成人午夜又粗又硬又大| 久久精品视频一区二区| 欧美福利视频一区| bt欧美亚洲午夜电影天堂| 国产区在线观看成人精品| 在线观看成人免费视频| 国产成人在线看| 男人的天堂久久精品| 亚洲乱码精品一二三四区日韩在线| 精品久久久久av影院| 欧美高清你懂得| 欧美亚洲愉拍一区二区| 色综合中文字幕国产 | 午夜精品久久久久久久蜜桃app| 精品国产伦一区二区三区观看体验 | 欧美一区二区三区喷汁尤物| 播五月开心婷婷综合| 三级在线观看一区二区| 一区二区三区在线看| 国产精品久久久久永久免费观看 | 成人免费视频在线观看| 7777精品伊人久久久大香线蕉 | 精品视频资源站| 日本韩国欧美三级| 91视频免费播放| 色综合天天综合在线视频| 91在线精品一区二区三区| 波多野结衣欧美| 99精品热视频| 91久久人澡人人添人人爽欧美| 96av麻豆蜜桃一区二区| 一本色道久久综合亚洲精品按摩 | 国产精品99久久久久久有的能看| 日韩精品乱码av一区二区| 日本欧美大码aⅴ在线播放| 日韩国产精品久久久| 美女爽到高潮91| 激情文学综合网| 成人激情视频网站| 91丨九色porny丨蝌蚪| 欧美视频在线不卡| 日韩欧美一区在线观看| 久久久精品黄色| 亚洲欧美激情插| 日本欧洲一区二区| 懂色av中文字幕一区二区三区 | 91精品国模一区二区三区| 日韩免费观看2025年上映的电影| 久久精品视频在线免费观看| 亚洲免费观看高清| 日韩电影在线免费| 成人免费电影视频| 欧美日本一区二区| 欧美精品一区二| 亚洲午夜私人影院| 激情综合色播激情啊| 91久久精品午夜一区二区| 欧美xxxx在线观看| 亚洲免费高清视频在线| 九九在线精品视频| 日本丶国产丶欧美色综合| 欧美mv日韩mv国产网站| 亚洲欧美日韩国产另类专区| 久久97超碰国产精品超碰| 99精品视频在线观看免费| 日韩欧美国产午夜精品| 自拍视频在线观看一区二区| 另类调教123区| 在线观看日韩国产| 亚洲国产高清在线观看视频| 婷婷丁香久久五月婷婷| 97精品国产露脸对白| 日韩欧美精品三级| 亚洲成人一区二区在线观看| zzijzzij亚洲日本少妇熟睡| 日韩精品一区二| 一区二区三区 在线观看视频| 国产伦精品一区二区三区免费 | av一区二区三区黑人| 欧美日韩免费一区二区三区视频| 亚洲精品一区二区在线观看| 天堂av在线一区| 在线日韩一区二区| 亚洲天堂av老司机| 成人免费观看视频| 欧美激情综合五月色丁香小说| 麻豆久久久久久久| 91精品国产综合久久蜜臀| 亚洲国产aⅴ天堂久久| 色综合天天性综合| 国产精品视频在线看| 成人在线视频一区二区| 久久精品欧美一区二区三区麻豆| 精品一区二区综合| 欧美成人性战久久| 另类小说欧美激情| 久久久久免费观看| 国产suv精品一区二区883| 国产午夜一区二区三区| 国产一区二区三区四| 久久新电视剧免费观看| 国产乱子伦一区二区三区国色天香| 日韩欧美第一区| 国产综合久久久久影院| 欧美成人精精品一区二区频| 麻豆精品新av中文字幕| 久久免费电影网| 国产91高潮流白浆在线麻豆| 国产精品蜜臀在线观看| 一本到不卡精品视频在线观看| 尤物av一区二区| 欧美日韩亚洲综合在线 | 成人国产视频在线观看| 中文在线一区二区| 91香蕉视频污在线| 性做久久久久久免费观看欧美| 欧美色综合久久| 日韩成人免费电影| 国产午夜亚洲精品羞羞网站| 91视频在线看| 蜜桃视频免费观看一区| 中文字幕在线不卡国产视频| 欧美视频自拍偷拍| 国产精品一区二区三区网站| 国产精品成人免费在线| 欧美日韩一区二区在线观看视频| 琪琪久久久久日韩精品| 中文字幕的久久| 在线成人免费视频| 国产成人av资源| 亚洲国产成人tv| 欧美成人三级在线| 91黄色免费看| 国产在线精品一区二区不卡了| 成人欧美一区二区三区白人| 欧美一区二区三区在| av中文字幕不卡| 美国三级日本三级久久99| 亚洲同性gay激情无套| 日韩精品一区二区三区在线| 色综合色综合色综合 | 色综合激情久久| 国产一区二区在线电影| 一区二区三区四区在线免费观看| 日韩欧美一区二区三区在线| 91丝袜美女网| 国产成人鲁色资源国产91色综 | 日韩中文字幕av电影| 亚洲国产精品黑人久久久| 91精品国产综合久久精品app| 99久久伊人精品| 麻豆国产一区二区| 亚洲国产综合人成综合网站| 国产欧美日韩综合精品一区二区| 在线播放一区二区三区| 一本色道久久加勒比精品| 国产成人免费视频一区| 国产做a爰片久久毛片| 麻豆精品视频在线|