ASP知識講座4

WBOY
WBOYオリジナル
2016-06-13 12:43:511022ブラウズ


ASP 組み込みコンポーネント

最初の 3 つの講義では、主に ASP が提供する 4 つの組み込みオブジェクトを紹介しました。
l 応答オブジェクト: ブラウザーに情報を送信します。
l リクエスト オブジェクト: ブラウザからサーバーに送信されるアクセス情報 (フォーム データの取得など)。
l セッション オブジェクト: 特定のユーザーの会話情報を保存および読み取ります。
l アプリケーション オブジェクト: すべてのユーザーが共有するアプリケーション情報を保存および読み取ります。
さらに、Server オブジェクトと ObjectContext オブジェクトがあります。これらについては、今後の例で学習します (ヒント: 実際、学習した知識を意識せずにオンライン チャット ルームを作成するためにすでに使用できます)。この講義の内容は、ASPのActiveX Server Components(コンポーネント)の使い方です。

1. ブラウザ機能コンポーネント:
ブラウザによっては、フレームをサポートする機能とサポートしない機能があることがわかっています。このコンポーネントを使用すると、ブラウザーの機能をチェックして、Web ページがブラウザーごとに異なるページを表示できるようにすることができます (フレームをサポートしていないブラウザーでは、フレームなしで Web ページを表示するなど)。このコンポーネントの使用は非常に簡単です。このコンポーネントを正しく使用するには、Browscap.ini ファイルが最新であることを確認する必要があります (実際、すべてのブラウザとその機能がこのファイルにリストされています)。それ以外の場合は、結果が大きく異なる可能性があります。たとえば、次の例では、Win98 の 2 番目のバージョンに含まれる IE5.0 は Netscape として表示されます。このファイルは通常、Web サーバーの「WinntSystem32InetSrv」にあり、最新バージョンは http://www.asptracker.com/ または http://www.cyscape.com/browscap からダウンロードできます。
例: wuf22.asp


'注: コンポーネントの使用はオブジェクトと似ていますが、コンポーネントは使用前に作成する必要がありますが、ビルドを使用する前には作成する必要はありません。 -オブジェクトを作成します。
<%Set BrowsCap=Server.CreateObject("MSWC.BrowserType")%>
お待ちください...




< TD>ブラウザのバージョンgt;

gt;
gt; ;


gt;gt;gt;
gt;gt;< TD>オペレーティング システム
ブラウザの種類<%=BrowsCap.Browser%>
gt;
;テーブルをサポートするかどうか<%=BrowsCap.tables%>
ActiveX コントロールをサポートするかどうか< /TD>< ;%=BrowsCap.activexcontrols%>
JavaApplet がサポートされているかどうか< ;%=BrowsCap.javaapplets% >gt;
JavaScript がサポートされているかどうかgt; ;
Cookie がサポートされているかどうか<%=BrowsCap.Cookies%>
フレームがサポートされているかどうか<%=BrowsCap.Frames%>
<%=BrowsCap.Platform%>
VBScript がサポートされているかどうか<%=BrowsCap.vbscript%>

<%BrowsCap = Nothing%>


注: この例では、Server オブジェクトの CreateObject メソッドにも触れました。Server.CreateObject は、サーバーに登録されている ActiveX コンポーネントを作成するために使用されます ( 注)。 : コンポーネントを作成するには他の方法もあります)。ただし、時間内にリソースを解放するには「Set Object = Nothing」を使用することを忘れないでください。これは習慣になるはずです。

2. ファイル アクセス コンポーネント
ファイル アクセス コンポーネントは、FileSystemObject オブジェクトと TextStream オブジェクトで構成され、FileSystemObject オブジェクトを使用してディレクトリとファイルの作成、取得、削除を行うことができ、TextStream オブジェクトは読み取りと保存の機能を提供します。ファイルの書き込み中。
wuf23.asp の例。強調: プログラムの実行結果を実践して比較することは、実践を通じてのみ理解を深めることができます。これは、プログラミング スキルを迅速に習得するための最良の方法です。
<%@ Language=VBScript %>
<% Option Explicit
' 絶対パスに注意してください: C:Inetpubhomeaspwuf23.asp ホーム ページのパス: C:Inetpubhome
Dim Path, File, FSO、CTF、Str、StrHTML、StrNoHTML

' CreateObject メソッドを使用して FileSystemObject オブジェクトを作成します FSO
Set FSO = Server.CreateObject("Scripting.FileSystemObject")

Path = Server.MapPath(" test") 'test の物理ディレクトリ (絶対パス) を返します
'この例では、次の文は上の文とまったく同じ Path を返します
'Path = Server.MapPath(" asptest")
Response.Write Path & "
"

If FSO.FolderExists(Path) = false then 'フォルダーが存在するかどうかを判断します
FSO.CreateFolder(Path) 'Newフォルダー
End If

File = Path & "asptest.txt"
' ファイル書き込み操作
If FSO.FileExists(File) = True then 'ファイルが存在するかどうかを判断します
' TextStream オブジェクトの作成 CTF
Set CTF = FSO.OpenTextFile(File, 8, False, 0) 'ファイルを開きます。詳細については説明を参照してください
Else
Set CTF = FSO.CreateTextFile(File, False) , False) 'New File
End If
CTF.Write "

最初の文字列; " '文字列を書き込み
CTF.WriteLine "2番目の文字列; " '文字列を書き込み、改行文字を追加します
CTF.Write "3 番目の文字列; "
CTF.Close 'ファイルを閉じる際に注意してください

' ファイル読み取り操作
Set CTF = FSO.OpenTextFile(File, 1,,0 )
Do While CTF.AtEndOfStream <> True 'ファイルが終了するかどうかを判断します(ループ文)
Str = CTF.ReadLine '(毎回) 1行読み取ります
StrNoHTML = StrNoHTML & Str & "
" & VbCrLf
StrHTML = StrHTML & Server.HTMLEncode(Str) & "
gt;" & VbCrLf
ループ
Response.Write StrNoHTML
Response.Write StrHTML

CTF.Close
Set CTF = Nothing 'オブジェクトを解放
Set FSO = Nothing
%>
CTF = FSO.OpenTextFile(File, 8, False, 0), 最初のパラメータ括弧内はファイル名です。2 番目のパラメータは 8 で、1 の場合は読み取り専用を意味し、2 の場合は 3 番目のパラメータが上書きされます。 false は、ファイルが指定されていることを意味します。存在しない場合、ファイルは作成されません。True の場合は、指定されたファイルが存在しないことを意味し、4 番目のパラメータ 0 はファイルを開くことを意味します。 ASCII ファイル形式。-2 の場合は、元の形式で開くことを意味します。
CTF = FSO.CreateTextFile(File,False, False)、2 番目のパラメータ false は既存のファイルを上書きしないことを意味し、True の場合は既存のファイルを上書きすることを意味し、False はファイルを意味します。 ASCII は、ファイル形式が Unicode であることを意味します。
Server オブジェクトの MapPath メソッドは、指定された仮想パスを実際のファイル パスに変換します。 MapPath は、「/」文字と「」文字を同じものとして扱います。
Server オブジェクトの HTMLEncode メソッドを使用すると、特定の文字列を HTML エンコードしたり、ブラウザで特定の文字を正しく表示したりできます。上記の例では、エンコードされていない場合、「

」は表示されませんが、ブラウザによって HTML としてマークされます。
実際、ファイル アクセス コンポーネントはファイル、フォルダー、ドライブの操作において比較的強力であり、この知識を使用する必要がある場合は、忘れずに使用してください。
さらに、今では Web ページのカウンターを作成するのは簡単です。これほど多くの Web ページが無料のカウンターを提供しているのも不思議ではありません。どうでしょうか?グラフィカルなカウンターを自分で作成してみてください。最終決定権はあなたにあります。 (ちょっとした秘密: 私のホームページには wuf24.asp というインスタンスがあります)

3. AD Rotator (広告反転コンポーネント)
現在、インターネットをサーフィンしているときに最も迷惑なことは、他の人のホームページ上の広告バナー 私が最も気に入っているのは、あなたのホームページ上の広告バナーです。スパムのようにどこにでもあるため、防御するのが困難です。このようなゴミを自分で作成することもできます。ASP の AD Rotator コンポーネントは、Web ページを開いたりリロードしたりするたびに広告をランダムに表示します。この例には 3 つの部分が含まれています:
Routine wuf25.asp
<%@ Language=VBScript %>
<% Option Explicit
Dim adr
'Create AD Rotator object
Set adr = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 'グラフィック ファイルの境界線のサイズを指定します
adr.Clickable = True '表示される画像がハイパーリンクかどうかを示します
adr.TargetFrame = "_blank" 'ハイパーリンクを設定するときにフレーム名を指定するかどうか (例: _TOP _NEW _PARENT
'表示する画像とハイパーリンクの設定を取得します -
Response を設定します。ファイルに adr を書き込みます) AdrSet.txt .GetAdvertising("AdrSet.txt")
%>
AdrSet.txt コンテンツ (このファイルのコンテンツではなくコメントが続きます):
REDIRECT wuf26.asp 広告をクリックした後、wuf26.asp に転送
WIDTH 468 広告画像の幅
HEIGHT 60 広告画像の高さ
* 区切り文字
http://www.soyou.com/prog/ad/468x60_1.gif広告画像の場所。リンクを指すローカル グラフィック ファイル
http://www.163.com/ にすることもできます。ハイパーリンクがない場合は、「-」
NetEase テキストの説明20 は広告の相対的な重み、つまり表示頻度を表示します
http://fp.cache.imgis.com/images/Ad173962St1Sz1Sq1Id2.gif
http://www.sina.com.cn /
Sina
30
http://61.139.77.73/images/canon.gif ../images/flag.gif
http://www などのローカル画像を使用することもできます。 .canon.com.cn/
Canon
50
この例では、3 つの画像 (画像サイズ 468X60) とリンクがあり、実際の使用では、各リンクの説明が 4 行になります。同じ方法に従って、さらに写真を追加します。
<% 'wuf26.asp
URL = Request.QueryString("url")
Response.Redirect(URL)
%>
wuf26.asp は最も単純な処理プログラムです。実際のニーズに応じて、ここにさらにコードを追加できます。
実行してみると、このコンポーネントの使用方法も非常に簡単で、独自の AdrSet.txt ファイルを取得するだけであることがわかります。このコンポーネントを使用すると、今非常にトレンディーな Ad Exchange ホームページをデザインすることもできます。

4. コンテンツ リンク コンポーネント
このコンポーネントの具体的な使用法をすぐに知りたい場合は、引用するのがよいでしょう。最初の典型的な例: インターネット ブックで本を読んでいるとします。次のリンクに精通している必要があります: 第 1 章、第 2 章、...、前の章、次の章 (または前のページ、次のページ) など。ここで私たちがしなければならないことは、これらのリンク間のジャンプを簡単かつ迅速に設定する方法です。
まず、urllist.txt などのリンク リスト テキスト ファイルを作成します。
wuf23.asp 第 1 章: ファイル操作 (ファイル アクセス コンポーネント)
wuf28.asp 第 2 章: コンテンツ リンク コンポーネントの使用例
wuf22 .asp 第 3 章: ブラウザ機能コンポーネント
リンク URL アドレスと説明は Tab キーで区切られます。次の wuf27.asp は、urllist.txt 内のすべてのリンクを一覧表示するために使用されます。
<% @LANGUAGE = VBScript %>
<% Option Explicit %>
コンテンツ リンク コンポーネントは < を使用します。 /head>

ディレクトリ リスト: コア リンクは第 2 章です。クリックする必要があることに注意してください



    < %
    Dim NextLink, Count
    'コンテンツ リンク コンポーネントを作成します
    Set NextLink = Server.CreateObject("MSWC.NextLink")

    ' ファイル urllist.txt 内のリンクの数を取得します
    Count = NextLink.GetListCount("urllist.txt")

    Dim url, Dscr, I
    For I = 1 To Count
    url = NextLink.GetNthURL ("urllist.txt") , I) 'ハイパーリンクを取得
    Dscr = NextLink.GetNthDescription ("urllist.txt", I) 'テキストの説明を取得
    Response.Write "
  • " & Dscr & "" & vbcrlf
    Next
    %>
gt;
その後、 wuf28 .asp では、前の章と次の章に自動的にジャンプする方法を例として説明します。
<% @LANGUAGE = VBScript %>
<% Option Explicit %>
このリンクに注意してください< /head>


第 2 章の本文です....



<% '各ファイル自動リンクを実現するために次の文が含まれています%>


を追加します自動ジャンプを実現する最後の文は wuf29.asp にあります。
<%
Dim NextLink, Rank
Set NextLink = Server.CreateObject ("MSWC.NextLink")
'
rank = は、urllist.txt NextLink にある現在のリンクです。 GetListIndex ("urllist.txt")
Response.Write "
"

If (rank > 1) then 'rank = 1 前のページの
Response が存在しません。 "|前の章|"
End If

If (rank
; NextLink.GetListCount("urllist.txt")) 'ランクは最後です、次のページはありません
Response.Write "|次の章|"
End If
%>
この例を実行すると、このコンポーネントの機能がすぐに理解できるようになります。各ページに「前の章」と「次の章」を記述する必要はありません。これは完全に wuf29.asp を通じて行うことができます。とても便利ではないでしょうか。 !そうでなければ、リンクを手動で変更するのは非常に面倒ではありませんか?
インターネット上には無料のカウンター、無料の掲示板、無料のチャットルーム、広告交換ネットワークなどが数多く存在し、それらの原則はこれに他ならないので、崇拝する必要はないことを理解する必要があります。彼ら。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。