1,フレーム |
2,フォームを作成する |
3,S S I |
4,Javascript |
5,VBScript |
○ | |
○ |
よく、ホームページを左右や上下で分割しているページを見かけます。
これは「フレーム」という機能を使っています。
フレームは簡単にできます。
<FRAMESET COLS="50%,50%"> <FRAME SRC="test.html"> <FRAME SRC="test2.html"> </FRAMESET>
<FRAMESET>でどのように分割するかを定義します。
「COLS=”50%,50%”」は縦方向に分割するという意味で
それぞれのWindowは50:50に分割されます。
左側には”test.html”ファイル
右には”test2.html”ファイルが表示されます。
横方向に分割したいときは「ROWS=・・・」にようにします。
なお、フレームを利用するときは<BODY>タグは用いることができません。
これは<FRAME>タグが<BODY>タグの代わりとしてはたらくためです。
フレームに未対応のブラウザでフレームを使ったページを見るとなにも表示されません。
これだけではなにがおきたのかクライアントにはわからないので
それようのタグがあります。
<FRAMESET COLS="50%,50%"> <NOFRAMES> あなたのブラウザはフレーム機能に対応していません。<P> フレームに対応したブラウザでご覧ください。 </NOFRAMES> <FRAME SRC="test.html"> <FRAME SRC="test2.html"> </FRAMESET>
こうすることでフレームに対応したブラウザはNOFRAMESのタグの内容を無視します。
フレームに未対応のブラウザはNOFRAMESのタグの内容を表示します。
このフレーム機能はMSIE3.0以上、NN2.0?以上でないと実現できません。
対応していないブラウザで見るとフレームにならないどころか
ホームページの内容が全く表示されません。
また、画面を分割してしまうのでそれぞれのWindowは小さくなってしまい
見にくくなってしまいます。
そのためフレームを使うのは極力さける必要があります。
△MailToコマンドは、IE4.0以上が対応。 CGIなら全て可 | |
○ |
<FORM METHOD="POST"
ACTION="mailto:ael@super.win.or.jp">
氏名
<INPUT TYPE="text" NAME="name" size="20">
性別
<INPUT TYPE="radio" NAME="sex" VALUE="male">男性
<INPUT TYPE="radio" NAME="sex" VALUE="female">女性
年齢
<SELECT NAME="age">
<OPTION>15歳未満
<OPTION>15歳以上65歳未満
<OPTION>65歳以上
</SELECT>
趣味
<INPUT TYPE="checkbox" NAME="astronomy">天体
<INPUT TYPE="checkbox" NAME="physics">物理
<INPUT TYPE="checkbox" NAME="other">その他
ひとこと
<TEXTAREA NAME="message" ROWS="4" COLS="40">
ひとこと
</TEXTAREA>
<INPUT TYPE="submit" VALUE="送信">
<INPUT TYPE="reset" VALUE="クリア">
</FORM>
そうすると
このようになります。
FORM METHODのACTION="mailto:"で自分のメールアドレスを書きます。
INPUT TYPE="text"で文字が入力できます。
INPUT TYPE="radio"でラジオボタン(1つしか選択できない)になります。
<SELECT NAME="age">・・</SELECT>の間に<OPTION>で
項目を指定します。
INPUT TYPE="checkbox"でチェックボックスになります。
TEXTAREAで長い文章を入力できます。
ROWSで縦の行,COLSで横を指定します。
最後にINPUT TYPE="submit"で送信,INPUT TYPE="reset"で
すべてをクリアします。
これで、「送信ボタン」を押すとデータが送信されるのですが
MSIEはメールSoftが起動するだけです。(アドレスのみ記入されています。)
そのため、MailToを用いる方法はNetscapeユーザーしか利用できません。
後述のCGI機能を利用すればMSIEでも利用できます。
○ | |
○ |
SSIとは、Server Side Includeの略です。
ホームページの特定の部分の表示を動的に変えることができます。
この機能はブラウザによるものではなく、サーバーが行うものです。
従って、ブラウザは何であっても動きます。
(ブラウザ側には結果が文字として返ってくるだけです。)
ただし、SSIを使うためには、プロバイダーが
一般ユーザーにSSIの使用を許可している必要があります。
このSSIの使用は70%以上のプロバイダーで使用できないようになっています。
これは、セキュリティーホールができ、ハッカーがシステム内部に侵入する可能性があるからです。
SSIの可否についてはご自身のプロバイダーに尋ねてください。
なお、当サイトがあるAIRNETはCGI,SSIの使用を認めています。
SSIは単に埋め込めば実行できるというものでもありません。
サーバーにSSIを使用したいということを伝える必要があります。
方法は2通りあります。
1 拡張子をshtmlにする
2 .htaccessファイルを置く
1は最も簡単な方法で、今まで拡張子は「html」,「htm」だったのですが
これをSSIを用いるところだけ「shtml」にします。
通常はこの方法を採ってください。(サーバーの負担が最小限で済みます。)
しかし、トップページ「index.html」にSSIを埋め込むときは拡張子を
変更できないので2の方法を採ります。
2は「.htaccess」というファイルをhtmlファイルと同じディレクトリーに置くだけです。
「.htaccess」ファイルの中身は次の通りです。
Addtype text/x-server-parsed-html .shtml Addtype text/x-server-parsed-html .html
これは、拡張子が「shtml」と「html」の両ファイルともSSIを使うということを
サーバーに伝えるものです。
これをメモ帳で打ち込んでファイルを作ってもいいのですが改行コードの問題に注意してください。
次に、今のファイルのパーミッションを「744」にします。
パーミッションについては上級編(29KB)のアクセスカウンターの
ところで、「ファイルモード」として軽く解説しています。
<!--#echo var="DATE_LOCAL"-->
これは、現在のに本時間を表示します。実行すると
このように表示されます。この表示形式を変えたいときは 今の構文の前に
<!--#config timefmt="%Y年%m月%d日 %I:%M:%S %p %Z"-->
といったものを追加します。すると、
1997年09月17日 02:08:35 AM JST
このように表示されます。(現在の時間ではありません)
記号の意味は
%Y | 年 |
%m | 月 |
%d | 日 |
%H | 時間(24時) |
%M | 分 |
%S | 秒 |
%p | AM か PM |
他の環境変数の例を紹介します。( )内はその例です。
SERVER_NAME | アクセスしてきた 相手サーバー |
super.win.or.jp |
HTTP_USER_AGENT | 相手ブラウザ名 | Mozilla/1.22 (compatible; MSIE 2.0c; Windows 95) |
HTTP_REFERER | どこからリンクしてきたか | http://www.win.or.jp/~ael/info.html |
<!--#fsize file="index.html"-->
これを実行するとindex.htmlのファイルの容量がわかります。
ただし、これは同ディレクトリのものしか使えないので
他ディレクトリを表示するときは
<!--#fsize virtual="/path/to/index.html"-->
このように実行します。
また、ファイルの最終更新日を知りたいときは
<!--#flastmod file="index.html"-->
<!--#flastmod virtual="/path/to/index.html"-->
同ディレクトリのものは上をそれ以外は下のでindex.htmlの最終更新日がわかります。
このファイルの下の方に最終更新日が載っています。
<!--#exec cmd="file名"-->
<!--#exec cgi="file名"-->
いまのどちらかでfile名というファイルを実行して値を得ることができます。
具体的な例はアクセスカウンターのところを見てください。
<!--#include file="file名"-->
<!--#include virtual="/path/to/file名"-->
このどちらかを使います。すると、そのファイルがドキュメントとして挿入されます。
これは、逐次更新される部分を別ファイルとすれば、そのファイルだけを更新すれば
逐次、新しい情報が表示されます。
・SERVER_SOFTWARE こちらのサーバーのソフトのバージョン ・SERVER_NAME こちらのサーバーのURL ・REMOTE_HOST 相手サーバーのURL(文字で) ・REMOTE_ADDR 相手サーバーのURL(数字で) ・HTTP_USER_AGENT 相手クライアントのブラウザ ・HTTP_REFERER 相手クライアントがどこからこのページに来たか ・DOCUMENT_NAME このページの名前 ・DOCUMENT_URI このページの名前 ・DATE_LOCAL 時間 ・DATE_GMT 世界時間 ・LAST_MODIFIED ファイルの最終更新日
上へ
○ただし、不完全です。 | |
○ |
JavaScriptとは、HTMLの文集中にただ単に書き込むだけのものです。
世間でいわれているいわゆるJavaとは違います。これに対応するブラウザも限られ
Microsift Exploreでは3.0以上,Netscapeでは2.0以上で対応しています。
JavaScriptに対応していないブラウザのことを考えて書く必要があります。
また、JavaScriptに対応していてもIEとNNで少し差があったりするので
完全には互換性がありません。
次の、文字を表示する例を見てください
<SCRIPT LANGUAGE="JavaScript">
document.writeln("HELLO WORLD");
document.write("ようこそJavaScript");
</SCRIPT>
このように<SCRIPT LANGUAGE="JavaScript">でJavaScriptを宣言します。
document.writeln("言葉");で文字を表示します。変数を宣言すればそれを
表示することができます。次に変数の例を見てください
<SCRIPT LANGUAGE="JavaScript">
var today = new Date();
var hour = today.getHours();
var min = today.getMinutes();
var sec = today.getSeconds();
var year = today.getYear();
document.write("現在"+year+"年"+hour+"時"+min+"分"+sec+"秒"+"<p>");
if (hour<12) {
document.write("午前");
}else{
document.write("午後");
} </SCRIPT>
これで、Dateという定数からvarで定義した変数に代入し、それを表示しています。
if文は、図のように定義します。
さて、このページをJavaScriptに対応していないブラウザで見ると
わけの分からない記号が表示されます。そこで、次の文を加えてください
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("あなたのブラウザはJavaScriptに対応しています。");
// -->
</SCRIPT>
そうすると
このようになります。何も表示されなかったブラウザはJavaScriptに
対応していません。構文で <!-- から // --> に実行したい文を書きます。
この間は、JavaScriptに未対応だと注釈と判断され何も表示されませんので、
迷惑をかけることがありません。
ここでは、非常に簡単なものだけ説明しました。
より詳しい説明は以下のページを参考にしてください。
独学JavaScript |
JavaScript Guide |
JavaScript チュートリアル |
JavaScriptコーナー |
○ | |
△Plug-inで対応 |
VBScriptとは、VisualBasicをベースとしているプログラムです。
これは、IEでのみ有効です。そのため、NNでは実行できません。
<SCRIPT LANGUAGE="VBScript">
</SCRIPT>
この間にプログラムを書きます。
実際にプログラムを書くときは、Microsoftの"ActiveX Contol Pad"を
使うと楽にできます。
VBScriptの詳しい文法は、
を参考にしてください。
Noteに戻る