■ 機能 アクセス毎に、CGI(Perl)でJavaScript外部ファイルを書き出して、そのファイルを基にHTML上にカウント文字を表示する、とてもシンプルなテキストカウンタです。このCGIスクリプト一つで、合計100ページにカウンタを設置できます。同じIPによる重複カウントを防止する機能もあります。(※ご利用前に「利用規約」をご確認ください) ■ サンプル カウンタを設置したサンプルページです。サンプル1 2 3 4 5 6 ■ ダウンロード 以下をダウンロードした後、圧縮・解凍ソフトで解凍してください。 (7KB) ■ 同梱ファイル readme.htm - 利用方法を説明したファイル txtcnt.cgi - CGIスクリプトファイル lockfile - ロック状態を判断するためのファイル txtcnt.js - JavaScript外部ファイル txtcnt1.htm - カウンタを設置したサンプルページ ■ 注意事項 1. 「シンプルかうんた」は、カウンタを設置するページ数が増えても、それに伴って処理内容が増える(重くなる)ことはないので、まず1ページだけにカウンタを設置してみて、問題なければ、100ページに設置しても、基本的に問題はないと思います。 2. txtcnt.js ファイルの、1行目と2行目の、//や:は絶対消さないでください。カウンタが動かなくなります。4行目以下は消してしまっても動きます。だから、もし txtcnt.js ファイルが壊れたりしたら、メモ帳で、1行目は一番左に//、一番右に[CountData]、そのあいだに、0と:を交互に100個ずつ書きます。2行目も一番左に//、一番右に[IpData]、そのあいだに、今度は:ばかり100個書いて、ファイル名を txtcnt.js にして保存すれば大丈夫です。ちなみに、1行目は、1ページから100ページまでのカウンタ値、2行目は、1ページから100ページまでのIPアドレス値です。 |
//103:47:21:24:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0・・・・0:0:0:0:0:0:0:0:0:0:[CountData] //122.133.13.158:122.133.13.158:122.133.13.158:122.133.13.158::::::::::::::::::・・・・::::::::::::::::[IpData] function count_hyoji(pageNum) { switch(pageNum){ case 1: count_str = 103; break; case 2: count_str = 47; break; : : : : case 100: count_str = 0; break; default : count_str = "Error"; } document.write(count_str); } |
■ 設置方法 1. txtcnt.cgi を、メモ帳などのテキストエディタで開き、★印の項目を説明に従って変更してください。 2. txtcnt.js は、解凍した直後なら、カウンタ値はすべて0で、IPアドレス値もすべて何も入ってない状態なので、変更する必要ありません。ただカウンタの初期値を変えたい方だけ変更してください。1行目がカウンタの初期値です。左から順に、コロンをあいだにはさんで、1ページから100ページまでのカウンタ値が設定できます。 3. lockfile という名前のファイルは何も変更しないでください。 4. まず下記のファイルをサーバーに転送してください。
5. 次に、4.でファイル転送したディレクトリの下に、lockdir という名前のディレクトリを作り、そこに lockfile という名前のファイルを転送してください。
|
<ディレクトリ構成例> public_html | +--txtcnt | +--txtcnt1.htm [644] カウンタを設置したサンプルページ | +--txtcnt.cgi [755] CGIスクリプトファイル +--txtcnt.js [644] JavaScript外部ファイル │ +--lockdir [755] ファイルロック用ディレクトリ | +--lockfile [644] ロック状態を判断するためのファイル |
6. カウンタを付けたいページに、赤の(1)(2)(3)の記述を必ず追加してください。ただし(1)(2)のファイルパス(srcを指定する部分)は、カウンタを付けたいページがある場所によって変わります。青の(4)の記述は書いておくと親切かも。(2)のpage=1と、(3)のcount_hyoji(1);の、1の数字は必ず同じにしてください。同じように、別のカウンタ設置ページでは page=2とcount_hyoji(2);、さらに別のページでは page=3とcount_hyoji(3);、というふうに割り当てていきます。 |
<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>サンプル1(page=1)</TITLE> <script language="JavaScript" src="txtcnt.js"></script> ←(1) </HEAD> <BODY bgcolor="#ffffcc"> <CENTER><FONT color="#9c5a3c" size="+2">サンプル1(page=1)</FONT><BR> <IMG src="txtcnt.cgi?page=1" height="1" width="1"><BR> ←(2) <BR> <BR> これはサンプルなので、重複カウント防止モードにはなっていません。<BR> ブラウザの更新ボタンを押すたびに、1つずつカウントアップします。<BR> <BR> <BR> あなたは<script type="text/javascript"> <!-- // count_hyoji(1); ←(3) // --> </script><noscript><FONT color="#ff0000">Error</FONT></noscript>人めのお客さまです。<BR> <BR> <BR> ↑(4) カウント文字が他のテキスト文字と同化している</CENTER> </BODY> </HTML> |
7. カウンタを設置して初めてそのページにアクセスしたときは、そのアクセスでJavaScript外部ファイルが新しく作られるので、その時点ではカウンタは正しく動きません。その後、もう一度アクセス(または更新ボタンをクリック)してみると、そのとき初めて、(前回アクセスしたときに)新しく作られたJavaScript外部ファイルが、HTMLファイルに読み込まれるので、それ以降は、カウンタは正しく動き始めます。 ■ 更新履歴 ・Ver1.2 - 重複カウント防止モードにおけるファイルロックの解除忘れを修正(2008/04/08) ・Ver1.1 - ファイルロック処理を追加(2008/03/26) ・Ver1.0 - 新規作成(2008/03/17) |