推奨:ポップアップウィンドウを「従順」にしますインターネットをサーフィンするときに、いくつかのWebサイトを入力するときにポップアップが表示されます。それはあなたへのウェブマスターからの親切な挨拶かもしれませんし、それはウェブサイト、ウェブサイト広告などの重要な発表かもしれませんが、それをうまく使用すると、人々は退屈します。ブラウジングに影響を与えずにポップアップを機能させる方法
ASPを使用してサーバー側のアプリケーションを記述する場合、ActiveXコンポーネントに頼って、以下などの強力なWebアプリケーションの機能に依存する必要があります。データベースに接続する、データベースをオンラインで操作する必要があります。
1.ブラウザ機能コンポーネントはよく知られており、すべてのブラウザが今日のインターネットテクノロジーのあらゆる側面をサポートするわけではありません。 ActiveXコントロール、画像ストリーム、動的HTML、フラッシュ、スクリプトプログラムなど、一部のブラウザがサポートするいくつかの機能がありますが、他の機能もあります。 ASPのブラウザ機能コンポーネントを使用して、スマートWebページを設計して、ブラウザのパフォーマンスに合った形式でコンテンツを表示できます。ブラウザ機能コンポーネントは、ユーザースクリプトにクライアントWebブラウザーの機能的な説明を提供するBrowserTypeオブジェクトを作成できます。このコンポーネントがクライアントブラウザのバージョンなどの情報を識別できる理由は、主にクライアントブラウザーがサーバーにページリクエストを送信するとき、ユーザーエージェントHTTPタイトルを自動的に送信するためです。ブラウザ機能コンポーネントは、ユーザーエージェントをファイルBrowscap.iniに記載されているブラウザにマップし、Browsertypeオブジェクトのプロパティを介してクライアントブラウザを識別します。オブジェクトがbrowser.iniファイルのタイトルに一致するアイテムを見つけることができない場合、デフォルトのブラウザプロパティが使用されます。オブジェクトに一致が見つからず、デフォルトのブラウザ設定がbrowser.iniファイルで指定されている場合、各プロパティを文字列不明に設定します。デフォルトでは、browser.iniファイルはWindows //// System /// INERSRV(95/98 PWS4)またはNT ///// System32 ////// Inersrv(if nt)ディレクトリに保存されます。このテキストファイルを自分で編集して、最新のリリースされたブラウザーバージョンアップデートファイルに従って、独自のプロパティを追加したり、ファイルを変更したりできます。次のCheckCookie()プロセスを参照してください。BrowserCapオブジェクトのCookie属性を使用して、クライアントブラウザーがCookieをサポートし、情報を返すかどうかを判断してください。
| 以下は引用されたコンテンツです。 <% sub checkcookie() browsercap = server.createobject(mswc.browsertype)を設定します browsercap.cookie = trueの場合 Response.WriteブラウザはCookieをサポートします! それ以外 Response.Write申し訳ありませんが、使用しているブラウザはCookieをサポートしていません! ifを終了します End Sub %> |
2。ファイルアクセスコンポーネントネットワークに十分な年齢がある場合は、Webゲストブックの最も早いプロトタイプである恐竜時代のCGIゲストブックを見た必要があります。当時、インターネットベースのWebアプリケーションのサーバーバックエンドデータベースに接続することは非常に困難でした。そのため、ゲストブックの履歴情報は、今日のようにバックエンドデータベースに保存されていませんでした。では、これらのデータはどこに保存されていますか?答えはテキストファイルです。 CGIプログラムは、クライアントから受信した情報をサーバーに保存されているテキストファイルに書き込むことができます。このファイルは、HTMLファイルまたはTXTファイルを使用することができます。これにより、プログラマーは同じデータベースに接続せずに顧客情報を保存できます。ただし、このようなCGIプログラムを書くことは非常に面倒です。次のリストは、そのようなプログラムの最も単純なサンプルです。
| 以下は引用されたコンテンツです。 #!/usr/local/bin/perl #perl位置1つのサーバー 印刷コンテンツタイプ:Text/Plain //// n //// n; if($ env {/// 'request_method ///'} eqpost){ read(stdin、$ buffer、$ env {/// 'content_length ///'}); } elsif($ env {/// 'request_method ///'} eqget){ $ buffer = $ env {/// 'query_stirng ///'}; } @ペア= split(/&/、$ buffer); foreach $ pair(@pairs){ ($ name、$ value)= split(/=/、$ペア); $ value = 〜TR///; $ value = 〜s/%([af af 0-9] [af af 0-9])/pack(c、hex($ 1))/eg; $ form {$ name} = $ value;} $ file_name = guestbook.txt; #file name #specificコンテンツ open(file、>> $ file_name)||ファイルを開くとエラーが発生します。 印刷ファイルの録音時間:$ date //// n ///// n; 印刷ファイル名:$ form {/// 'name ///'}; 印刷ファイルユニット:$ form {/// 'company ///'} //// n; ファイル電話の印刷:$ form {/// 'Phone ///'} 印刷ファイルアドレス:$ form {/// 'address ///'} //// n; ファイル郵便番号を印刷:$ form {/// 'zip ///'} ファイルのメールアドレスを印刷:$ form {/// 'email //'} //// n; ファイルを印刷返すコメント:$ form {/// 'content ///'} close(file) |
ASPと比較して、このタイプのCGIプログラムは読みやすさと操作性が低いと感じることができます。次に、ASPがサーバーに直接ファイルを書き込むことができるかどうかを尋ねたい必要がありますか?答えはもちろんそうです。しかし、賢い友人は、ASPデータベースとWebデータベースの接続が非常に便利であるため、なぜテキストファイルに顧客情報を書く必要があるのかと思うかもしれません。この機能はASPの贅沢ではありませんか?実際、ゲストブックやBBSなどの一般的なWebアプリケーションでは、プログラムの実行効率や使いやすさの観点から、データベースをテキストファイルの作成に置き換えることはできません。ただし、一部のWebアプリケーションフィールドにテキストファイルを作成することは、データベースと比較して標準であり、比較的便利な方法の両方です。 NTに精通している場合は、NTには非常に強力なセキュリティメカニズムがあり、サフィックス名.logのファイルにほぼすべてのサーバー操作と接続情報を自動的に保存できることを知っておく必要があります。実際、このテクノロジーをWebで使用して、顧客ログイン情報を記録することもできます。次のプログラムでは、ASPの読み取りおよび書き込みテキストファイルの機能を使用して、Web BBSプログラムで各ユーザーのスピーチレコードを自動的に記録する関数を作成します。
| 以下は引用されたコンテンツです。 <% fs = createObject(scripting.filesystemObject)を設定します forreading = 1 /// '読み取り専用モードでファイルを開きます。このファイルを書き込むことはできません。 forappending = 8 /// 'ファイルを開き、ファイルの最後に書き込みます。 tristateusedefault = -2 tristatetrue = -1 tristatefalse = 0/p> ? servermap = server.mappath(/// bbs /// log ////)) /// 'マッピングシステム物理パス temp = servermap&///&year(date)&month(date)&//// /// 'システムの物理的なパスと時間を取得し、これをログファイルに保存されている物理パスとして使用します fs.folderexists(temp)ではない場合 fs.createfolder(temp) ifを終了します /// 'フォルダーの存在の検出、それ以外の場合は自動的に作成されます 薄暗いsyslog 薄暗いtempname tempname = date syslog = temp&tempname&.log /// 'ファイル名はe:////bbs//log//month////month.logです li = user && now && request.servervariables(remote_addr)&& tempfile &&&lette && title /// 'ログファイルレコード形式は次のとおりです:ユーザー名と送信時間とユーザーIP&ファイルパス&レターエリアとレタータイトル fs.fileexists(syslog)の場合 sss = fs.opentextfile(syslog、forappending、true)をset それ以外 sss = fs.createTextFile(syslog、forwriting、false)をset ifを終了します /// 'ログファイルが存在するかどうかを検出します。存在する場合は、ファイルの内容を追加し、それ以外の場合はファイルを直接書き込みます Ss.WriteLine(Li) ss.close ? %> |
上記のプログラムを完全に理解していない場合は、著者の説明を聞いてください。ファイルアクセスコンポーネントは、コンピューターのファイルシステムにアクセスするために使用できるメソッドとプロパティを提供します。ファイルアクセスコンポーネントを使用して、FilesystemObjectオブジェクトを作成できます。上記のプログラムの最初の文は、ファイルアクセスコンポーネントを使用してFSという名前のオブジェクトインスタンスを作成することです。オブジェクトが作成されたら、ファイルを介してファイルにアクセスできます。オブジェクトにはプロパティがありません。その唯一の意味は、テキストファイルを作成、開き、読み書きすることです。ファイルSystemObjectオブジェクトには2つの一般的に使用されるメソッドがあり、1つはファイルを作成するために使用され、もう1つはテキストファイルを開き、読み書きするために使用されます。 createTextFileメソッドは、指定したファイル名を取得し、ファイルを作成します。テキストストリームオブジェクトを返します。このオブジェクトを使用して、ファイルが作成された後にファイルを操作できます。 createTextFileメソッドの構文は次のとおりです。
objtextStream = filesystemObject.createTextFile(filename、[overwrite]、[unicode])を設定します。
著者は、以下のcreateTextFileメソッドのパラメーターを説明します
1。ファイルパス名を含む文字列名は、ドライブ名とディレクトリ名を含むファイルのフルパス名にすることができます。または、単なるファイル名にすることができます。ファイル名のみが含まれている場合、ファイルはサイトのルートディレクトリに作成されます。
2。ブール数量を上書きします。 falseに設定すると、新しいファイルを作成するときにFilesystemObjectオブジェクトが既存のファイルを削除するのを防ぐことができます。このパラメーターはオプションです。システムに割り当てがデフォルトでない場合、同じファイル名を持つ既存のファイルが削除されます。
3。ユニコードオプションパラメーター。ブール値は、UnicodeまたはASCIIファイル形式でファイルを作成するかどうかを示します。この値は、ファイルがUnicodeファイル形式で作成されている場合はTRUE、FALSEがASCIIファイル形式で作成されている場合はfalseです。このセクションが省略されている場合、ASCIIファイルが作成されると想定されます。
前のプログラムでは、SET ss = fs.createTextFile(syslog、forwriting、false)を使用してファイルを作成し、ログファイルが存在しない場合にファイルを書き込みます。ここで、forwritingとはファイルを書くことを意味します。
createTextFileメソッドとは異なり、OpenTextFileメソッドを使用して、指定したファイル名を取得してファイルを開きます。含まれるパラメーターを使用して、ファイルでさまざまな操作を実行できます。 createTextFileメソッドと同様に、OpenTextFileメソッドはTextStreamオブジェクトを返し、ファイルを開いた後にファイルを操作できるようにします。 OpenTextFileメソッドの構文は次のとおりです。
objtextStream = filesystemObject.opentextfile(filename、[iomode]、[create]、[format])を設定します。
パラメーターは次のとおりです。
1.ファイル名は、createTextFileのファイル名と同じように、必要な変数です
2。値は、次の2つの定数のいずれかを読み取りまたは付入のために、オプション定数です。モードが1の場合、ファイルは読み取り専用のみであり、8の場合、ファイルが追加されます。
3.オプションのブール数量を作成し、開きたいファイルが存在しない場合に実行される操作を指定します。その値が真である場合、ファイルが存在しないときに空のファイルが自動的に作成されます。 FALSEの場合、ファイルが見つからないときにエラーメッセージが生成されます。デフォルト値はfalseです。ファイルを開くときにエラーをチェックしないようにすることをお勧めします。
4.オプションのフォーマット値、3つのTristate値を選択して、それぞれファイルの形式を指定できます。 -2、-1、および0は、それぞれシステムのデフォルト、Unicode、およびASCIIに対応します。
テキストファイルを開いたり作成した後、ワードプロセッサのカーソルのようにカーソルを備えたテキストストリームオブジェクトを取得し、入力するキャラクターがどこに表示されるかを示します。また、読み取るキャラクターの位置も示します。 CreatObjectを介してTextStreamオブジェクトを作成することはできません。 TextStreamオブジェクトを取得する唯一の方法は、FilesystemObjectオブジェクトを使用して既存のテキストファイルを開くか、前述のように新しいファイルを作成することです。
TextStreamオブジェクトのプロパティと方法は以下にリストされています
textStream.Atendofline読み取り専用ブール数量、カーソルが現在の行の終わりにある場合、その値は真であり、そうでなければ偽です
TextStream.AtendofStream Read-Only Boolean数量、カーソルがストリームの終わりにある場合、その値は真であり、そうでなければ偽です
textStream.columnの読み取り専用整数、行の先頭から現在のカーソル位置までの文字の数を数えます
textStream.line読み取り専用整数ファイル全体のカーソルラインの行番号を示す
textStream.close()ストリームと対応するテキストファイルを閉じます
textStream.read(num)は、カーソルの現在の位置から始まるテキストファイルから特定の数の文字が読み取られることを指定します。
textStream.readall()は、ストリーム全体を文字列に読み取ります
textStream.readline()文字列全体を文字列に読み取ります
textStream.write(テキスト)ストリームに文字列を書き込みます
textStream.writeLine()は、テキスト文字列をストリームに書き込みます
textStream.skip(num)ストリームで、カーソルの位置を特定の数の文字列長で移動します
textStream.skiprine()ストリームで、カーソルを特定の数の行に移動します
textStream.writeblankは、一定数の空の行をストリームに書き込みます
行(num)
誰もがASPファイルアクセスコンポーネントの強力な機能を感じることができると思います。実際、ログファイルを記述するだけでなく、努力なしでWebサイトを自動的に更新できます。固定形式でテキストファイルをリモートサーバーに転送し、ファイルアクセスコンポーネントを介してファイルを読み取り、HTMLファイルを1つずつ更新するために一生懸命働くことなく、新しいHTMLページを自動的に生成するだけです。興味がある場合は、ASPのファイルアクセスコンポーネントを使用して、独自の完全に自動HTMLジェネレーターを作成して、Webサイトを維持する高度で簡単な感覚を完全に楽しむことができます。
共有:JS Divは選択フォームドメインをシミュレートします最近、私はAjaxプロジェクトに取り組んでいました。これは、フルスクリーンレイヤーを備えた多くのシミュレートされた画面ロックを使用していますが、頭痛があります。つまり、ドロップダウンリストボックスは常にレイヤーに表示されます。この問題を解決するために、このJSクラスを書きました。個人的には使いやすいと感じています。ここであなたと共有します。