この記事の内容は、ASP の ActiveX サーバー コンポーネント (コンポーネント) の使用です。
1. ブラウザ機能コンポーネント:
ブラウザによっては、フレームをサポートする機能とサポートしない機能があることがわかっています。このコンポーネントを使用すると、ブラウザーの機能をチェックして、Web ページがブラウザーごとに異なるページを表示できるようにすることができます (フレームをサポートしていないブラウザーでは、フレームなしで Web ページを表示するなど)。 このコンポーネントの使用は非常に簡単です。このコンポーネントを正しく使用するには、Browscap.ini ファイルが最新であることを確認する必要があります (実際、すべてのブラウザとその機能がこのファイルにリストされています)。それ以外の場合は、結果が大きく異なる可能性があります。たとえば、次の例では、Win98 の 2 番目のバージョンに含まれる IE5.0 は Netscape として表示されます。このファイルは通常、Web サーバーの「WinntSystem32InetSrv」にあり、最新バージョンはhttp://www.asptracker.com/またはhttp://www.cyscape.com/browscapからダウンロードできます。
例: wuf22.asp
<html>
<本体>
注: コンポーネントの使用はオブジェクトの使用と似ていますが、コンポーネントは使用前に作成する必要がありますが、組み込みオブジェクトを使用する前に作成する必要はありません。
<%Set BrowsCap=Server.CreateObject("MSWC.BrowserType")%>
お待ちください......
<P>
<TABLE BORDER=1 CELLPADDING=10>
<TR><TD>ブラウザの種類</TD><TD><%=BrowsCap.Browser%></TD></TR>
<TR><TD>ブラウザのバージョン</TD><TD><%=BrowsCap.version%></TD></TR>
<TR><TD>テーブルがサポートされているかどうか</TD><TD><%=BrowsCap.tables%></TD></TR>
<TR><TD>ActiveX コントロールがサポートされているかどうか</TD><TD><%=BrowsCap.activexcontrols%></TD></TR>
<TR><TD>JavaApplet がサポートされているかどうか</TD><TD><%=BrowsCap.javaapplets%></TD></TR>
<TR><TD>JavaScript がサポートされているかどうか</TD><TD><%=BrowsCap.javascript%></TD></TR>
<TR><TD>Cookie がサポートされているかどうか</TD><TD><%=BrowsCap.Cookies%></TD></TR>
<TR><TD>フレームがサポートされているかどうか</TD><TD><%=BrowsCap.Frames%></TD></TR>
<TR><TD>オペレーティング システム</TD><TD><%=BrowsCap.Platform%></TD></TR>
<TR><TD>VBScript がサポートされているかどうか</TD><TD><%=BrowsCap.vbscript%></TD></TR>
</テーブル>
<%BrowsCap = なしを設定%>
</BODY>
</HTML>
注: この例では、Server オブジェクトの CreateObject メソッドにも触れました。Server.CreateObject は、サーバーに登録されている ActiveX コンポーネントを作成するために使用されます (注: コンポーネントを作成するメソッドは他にもあります)。ただし、時間内にリソースを解放するには「Set Object = Nothing」を使用することを忘れないでください。これは習慣になるはずです。
2. ファイル アクセス コンポーネント
ファイル アクセス コンポーネントは、FileSystemObject オブジェクトと TextStream オブジェクトで構成されます。FileSystemObject オブジェクトを使用すると、ディレクトリとファイルを作成、取得、削除できます。一方、TextStream オブジェクトは、ファイルの読み取りと書き込みの機能を提供します。
wf23.asp の例。強調: プログラムの実行結果を実践して比較することは、実践を通じてのみ理解を深めることができます。これは、プログラミング スキルを迅速に習得するための最良の方法です。
<%@ 言語=VBScript %>
<% 明示的なオプション
' 絶対パスに注意してください: 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") 'テストの物理ディレクトリを返します (絶対パス)
'この例に関する限り、次の文は上の文とまったく同じパスを返します。
'パス = Server.MapPath("asptest")
Response.Write Path & "<Br>"
If FSO.FolderExists(Path) = false then 'フォルダーが存在するかどうかを判断します
FSO.CreateFolder(Path) '新しいフォルダーを作成します
End If
File = パス & "asptest.txt"
'ファイル書き込み操作
If FSO.FileExists(File) = True then 'ファイルが存在するかどうかを判断します
'TextStream オブジェクト CTF の作成
Set CTF = FSO.OpenTextFile(File, 8, False, 0) 'ファイルを開きます。詳細については説明を参照してください
それ以外
Set CTF = FSO.CreateTextFile(File,False, False) '新しいファイル
終了の場合
CTF.Write "<P>最初の文字列; " '文字列を書き込みます
CTF.WriteLine "2 番目の文字列; " '文字列を書き込み、改行文字を追加します
CTF.Write "3番目の文字列; "
CTF.Close 'ファイルを閉じる際は注意してください
' ファイルの読み取り操作
CTF = FSO.OpenTextFile(File, 1,,0) を設定します。
Do While CTF.AtEndOfStream <> True 'ファイルが終了するかどうかを判断します (ループ文)
Str = CTF.ReadLine '(毎回) 1 行読み取ります
StrNoHTML = StrNoHTML & Str & "<BR>" & VbCrLf
StrHTML = StrHTML & Server.HTMLEncode(Str) & "<BR>" & VbCrLf
ループ
Response.Write StrNoHTML
Response.StrHTML
.Close
CTF = Nothing を設定 'オブジェクトを解放します
FSO = なしを設定します
%>
CTF = FSO.OpenTextFile(File, 8, False, 0)、括弧内の最初のパラメータはファイル名です。2 番目のパラメータは 8 で、元のファイルの後にコンテンツを追加します。1 の場合は、その内容が追加されます。 2 の場合は読み取り専用を意味し、3 番目のパラメータが false の場合は、指定されたファイルが存在しない場合はファイルが作成されないことを意味します。存在する場合、ファイルは作成されます。4 番目のパラメータ 0 は、ファイルが ASCII ファイル形式で作成されることを意味し、-2 の場合は、元の形式で開くことを意味します。
CTF = FSO.CreateTextFile(File,False, False)、2 番目のパラメータ false は既存のファイルを上書きしないことを意味し、True の場合は既存のファイルを上書き (OverWrite) することを意味します。false はファイル形式が ASCII であることを意味します。 、True は、ファイル形式が Unicode であることを示します。
Server オブジェクトの MapPath メソッドは、指定された仮想パスを実際のファイル パスに変換します。 MapPath は、「/」文字と「」文字を同じように扱います。
Server オブジェクトの HTMLEncode メソッドを使用すると、特定の文字列を HTML エンコードしたり、ブラウザで特定の文字を正しく表示できるようにしたりできます。上記の例では、エンコードされていない場合、「<P>」は表示されませんが、ブラウザではHTMLタグとして扱われ、実行結果を比較することができます。
実際、ファイル アクセス コンポーネントは、ファイル、フォルダー、ドライブの操作において比較的強力であり、この知識を使用する必要がある場合は、忘れずに使用してください。
さらに、今では、Web ページのカウンターを作成するのは簡単です。非常に多くの Web ページが無料のカウンターを提供しているのも不思議ではありません。どうでしょうか?グラフィカルなカウンターを自分で作成してみてください。最終決定権はあなたにあります。 (ちょっとした秘密: 私のホームページには wuf24.asp の例があります)
3. AD Rotator (広告反転コンポーネント)
現在、インターネット上で最も迷惑なのは、他人のホームページ上の広告バナーではないかと思います。私のお気に入りは、自分のホームページの広告バナーです。 広告 スパムと同様に、メッセージが大量に存在するため、防御するのは困難です。このようなゴミを自分で作成することもできます。ASP の AD Rotator コンポーネントは、Web ページを開いたりリロードしたりするたびに広告をランダムに表示します。この例には 3 つの部分が含まれています:
ルーチン wuf25.asp
<%@ Language=VBScript %>
<% 明示的なオプション
薄暗い広告
'AD Rotator オブジェクトの作成
Set adr = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 'グラフィックファイルの境界線のサイズを指定します
adr.Clickable = True '表示された画像がハイパーリンクかどうかを示します
adr.TargetFrame = "_blank" 'フレーム名を指定するかどうかのハイパーリンクを設定します。例: _TOP _NEW _PARENT
'表示される画像とハイパーリンクの設定を取得します - ファイル AdrSet.txt に設定されます
Response.Write adr.GetAdvertising("AdrSet.txt")
%>
AdrSet.txt の内容 (このファイルの内容ではなくコメントが続きます):
REDIRECT wuf26.asp 広告をクリックすると、wuf26.asp によって処理されます。
WIDTH 468 広告画像の幅
HEIGHT 60 広告画像の高さ
* セパレータ
http://www.163.com/ はリンクを指します。ハイパーリンクがない場合は、「-」を記述します。
NetEase テキストの説明
20は広告の相対的な重み、つまり表示頻度を示します。
http://www.sina.com.cn/
シナ.com
30
http://www.canon.com.cn/
キヤノン
50
この例では、3 つの画像 (画像サイズ 468X60) とリンクが 4 行あります。実際の使用では、同じ方法に従ってさらに画像を追加できます。
<% 'wuf26.asp
URL = Request.QueryString("url")
応答.リダイレクト(URL)
%>
wuf26.asp は最も単純な処理プログラムです。実際のニーズに応じてコードを追加できます。
実行してみると、このコンポーネントの使用法も非常に簡単で、独自の AdrSet.txt ファイルを取得するだけであることがわかります。このコンポーネントを使用すると、今非常にトレンディーな Ad Exchange ホームページをデザインすることもできます。
4. コンテンツ リンク コンポーネント
明らかに、このコンポーネントはリンクに関連しています。このコンポーネントの具体的な使用方法をすぐに知りたい場合は、最初に古典的な例を引用した方がよいでしょう。インターネット上の本を読む場合、次のリンクに慣れていない必要があります: 第 1 章、第 2 章、...、前の章、次の章 (または前のページ、次のページ) など。ここで私たちがしなければならないことは、これらのリンク間のジャンプを簡単かつ迅速に設定する方法です。
まず、urllist.txt wuf23.asp などのリンク リスト テキスト ファイルを作成します。
ファイル操作 (ファイル アクセス コンポーネント)
wuf28.asp: コンテンツ リンク コンポーネントの使用例
wuf22.asp: ブラウザー機能コンポーネントの
リンク URL アドレスと説明は Tab キーで区切られています。次の wuf27.asp は、urllist.txt 内のすべてのリンクを一覧表示するために使用されます。
<% @LANGUAGE = VBScript %>
<% 明示的なオプション %>
<html><head><title>コンテンツ リンク コンポーネントの使用法</title></head>
<本文>
<h2>目次: 主要なリンクは第 2 章であることに注意してください。クリックする必要があります</h2>
<ul>
<%
ディムネクストリンク、カウント
'コンテンツリンクコンポーネントの作成
Set NextLink = Server.CreateObject("MSWC.NextLink")
'ファイル urllist.txt 内のリンクの数を取得します
Count = NextLink.GetListCount("urllist.txt")
Dim URL、Dscr、I
I = 1 を数える場合
url = NextLink.GetNthURL ("urllist.txt", I) 'ハイパーリンクを取得
Dscr = NextLink.GetNthDescription ("urllist.txt", I) 'テキストの説明を取得
Response.Write "<li><a href = """ & url & """>" & Dscr & "</a>" & vbcrlf
次
%>
</ul></body></html>
次に、wuf28.asp を例として、前の章と次の章に自動的にジャンプする方法を説明します。
<% @LANGUAGE = VBScript %>
<% 明示的なオプション %>
<html><head><title>このリンクに注目してください</title></head>
<body>
<p>ここに第 2 章のテキストがあります...</p>
<% '自動リンクを実現するために、各ファイルには次の文が含まれています%>
<!--#include file="wuf29.asp"-->
</body></html>
自動ジャンプを実現するために、ここに最後の文を追加します。コアは wuf29.asp にあります。
<%
Dim NextLink、ランク
NextLink = Server.CreateObject ("MSWC.NextLink") を設定します。
「urllist.txt 内の現在のリンクは何ですか?」
ランク = NextLink.GetListIndex ("urllist.txt")
Response.Write "<hr>"
If (rank > 1) then 'rank = 1 前のページは存在しません
Response.Write "|<a href=""" & NextLink.GetPreviousURL("urllist.txt") & """>前の章</a>|"
End If
If (rank < NextLink.GetListCount("urllist.txt")) then 'ランクが最後である場合、次のページはありません
Response.Write "|<a href=""" & NextLink.GetNextURL("urllist.txt") & """>次の章</a>|"
終了の場合
%>
このサンプルを実行すると、このコンポーネントの役割がすぐに理解できるようになります。つまり、各ページに「前の章」と「次の章」を記述する必要はなく、完全に wuf29 を通じて行うことができます。 .asp 、とても便利ですね。 !そうでなければ、リンクを手動で変更するのは非常に面倒ではありませんか?
インターネット上には、無料のカウンター、無料の掲示板、無料のチャット ルーム、広告交換ネットワークなどが数多く存在することを理解してください。その原則はこれにほかならないので、それらを崇拝する必要はありません。