ホストが表示されない!
clear(自分の発言消し)コマンドが使えない!
IPしか出ない!
ネスケで表示されない!
参加者表示CGIがうまく動かん!
ICQ自動リンクってどうやって使うの?
電報を送ったけど、送った自分に見えない!
タグを無効にしたい!
おしちゃっとをさらに改造して再配布したい!
速報機能ってなに?
COOL Onlineなどでチャットが設置できない!
ランキングがたまにリセットされる!
参加者表示CGIで、退室してからしばらくは名前が残る!
発言した後、自動的に次の発言を入力できる状態にならない!
おしちゃっとデフォルトの、ホスト名/IP表示方法は、一部のサーバーでは使えない場合があります。
もとの「ゆいちゃっと」がこの方法であったので、それを継承しています。
別方法で、ホスト名/IPは表示できるので、表示する設定にしていても表示されないというときは、以下の方法を試してみてください。
pref.cgiの、
$host = &gethost;if($host=~/bmc/){$host="ppp753.master.ad.jp";}
#$host=$ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};
を、
#$host = &gethost;if($host=~/bmc/){$host="ppp753.master.ad.jp";}
$host=$ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};
にする。
これは、ホスト名またはIPが取得できていないせいです。
clearで、自分の発言したコマンドが消えるのは、自分のホスト名/IPから発言されたものだけを消しているからです。
ホスト名非表示でも、ホスト名はコメントアウトしているので、clearは作動しますが、ホスト名が取得できないと、clearは使えません。
そのときは、
pref.cgiの、
$host = &gethost;if($host=~/bmc/){$host="ppp753.master.ad.jp";}
#$host=$ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};
を、
#$host = &gethost;if($host=~/bmc/){$host="ppp753.master.ad.jp";}
$host=$ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};
にしてみてください。
アクセス元のホスト名(xxx.yyy.ne.jpのようなもの)を表示させたいのに、IPアドレス(210.169.85.63のようなもの)しかでない!という時・・
私の経験上、これはしょうがないものだと思います。
置いたサーバーによって、違ってきました。
私も、どうにかならないか研究中です。
もし何か知っている方がおられましたら、私に知らせてくださいませ。
当方では、Netscapeでの動作は異常ありません。
おそらく、ご自分で改造したときの、タグの閉じ忘れだと思います。
タグを閉じ忘れると、Netscapeでは、何も表示されなくなります。
参加者表示CGIは、SSIでの使用を前提としております。
SSIとは、HTMLファイル内にCGIの実行結果を表示させたりする機能ですが、サーバーに負荷がかかるので、禁止にしているところも多いです。
また、SSIを使うと、CGIを置いてあるサーバーと、参加者を表示させるHTMLを置いてあるサーバーは同じでないといけません。
たとえば、プロバイダのスペースにCGIを置き、無料サーバーにHTMLを置き、参加者を表示させるということは、SSIでは無理です。
ここでの解決法は、SSIを使わない!方法で、ごまかしちゃおう!ということです。
IEでしか使えませんが、IFRAMEというタグがあります。これは、外部のHTMLファイルやCGIの実行結果を、他のHTMLファイルで表示するという技です。
しかし、Netscapeなどでは使えないので、Netscapeの利用者の方のために、一言書いて置いてください。
IFRAMEについては、http://wakusei.cplaza.ne.jp/twn/wwwreffr.htm#IFRAMEを参照。
SRC属性に、CGIのURLを入れます。
ICQ:00000000
のように、「ICQ:」のあとにあなたのICQ-UINを入れるだけ!
すべて半角でないと動作しません。
これをクリックすると、あなたのコンタクトリストに、その番号が登録されます。
しかし、Windowsのみ対応らしいです。これはICQ社の機能なので、私に文句をいわないでぇぇぇ(笑)
相手にしか見えないので、自分にも見えません。
タグを無効にするには、以下の手順を踏んでください。
chat.cgiの
$chat =~ s/<IMG.*mailto://ig;
の下に行を作り、
$chat =~ s/</</ig;$chat =~ s/>/>/ig;
を追加すればタグが無効化されます。
おしちゃっとは、ゆいちゃっとの改造版です。よって、ゆいチャットのおよび私の著作権表示を残す必要があります。
たとえば、改造後「xxxチャット」という名前で再配布をする予定ならば、チャットのログ画面下部の著作権表示欄が、
ゆいちゃっとPro(Free) Modified by おしちゃっと & xxxチャット
または、
ゆいちゃっとPro(Free)
Modified by おしちゃっと
Modified by xxxチャット
てな具合にお願いします。もちろん、ゆいちゃっと及びおしちゃっとの公式サイトへのリンクを消さぬようお願いいたします。
また、再配布ではなく、改造をしても自分だけで使う場合、著作権表示の変更はしなくてもよいです。
速報は、アクセスをした人のホスト名やIPアドレス(xxx.foo.ne.jp
など、アクセス元がわかる情報)を表示して、常連の間などで、あ、●●さんが来たぞ!というお遊びができるという機能です^^;
無効にもできますよ。pref.cgiに設定項目があります。
COOL Onlineは、有料会員にならないとCGIは利用不可です。
また、Freewebでは、チャット設置を禁止しておりますので、チャット設置はご遠慮くださいませ。
同時アクセスエラーによるものと思われます。
参加者ランキングは、rank.datというファイルに記録されています。
たとえば、AさんとBさんがいて、Aさんがチャットで発言すると、rank.datを開き、自分の発言数をプラスします。
また、Bさんでも同様です。
で、AさんとBさんが同時にアクセスしたら、、、ということなのですが、児の場合、競合が起こって、ファイルは破損します。
そのため、またカウントが一からになってしまうのです。
対策法としては、ファイルロックを利用する方法があります。
おしちゃっと付属のファイルロック機能は、原版であるゆいちゃっとのものを継承し、また充分な確認を行っていないため、ランキングファイルに効くものかは不明です。
しかし、やってみる価値はあると思います。
pref.cgiに、ファイルロックの設定法があります(pref.cgiの該当個所(すぐわかるはずです)の行頭の#を消すだけです)。
それは、退室しても、即刻情報が更新されるわけではありません。
すこし時間を置いてから更新されるはずです。
それは、退室したはずのひとがすぐに参加者欄に消えないのと同じ(あ、チャット上でです)です。
いちいちアクセスがある/消えるごとに情報を更新すると、サーバーにも負担がかかるとのことだと思われます
それで、解決法ですが、やまじ様より、退室などの時に自動的にリストから名前を削除する方法をいただいています<未確認
chat.cgiの135行目あたり(バージョンによって多少違います)
&writelog;
print "Location: $endpage\n\n";
のあとあたりに入れてください。
| open(LOG,"$sanka_file") || &ended; seek(LOG,0,0); @sanka=<LOG>; close(LOG); foreach $line (@sanka) { ($timerec, $handle, $host2,$color2,$dmy) = split(/\t/, $line); $line = '' if(($host2 eq $host) && ($handle eq $name)); }#foreach open(LOG,">$sanka_file") || &ended; eval 'flock(LOG,2);'; seek(LOG,0,0); print LOG @sanka; eval 'flock(LOG,8);'; close(LOG); |
やまじ様、Thanx!
また、この処理を入れると、動作は若干遅くなります。
フォーカスがテキストボックスにない、ということです。
ポップアップ式広告(別の小さいウィンドウが現れて広告を表示するタイプ)の場合、そちらにフォーカスがいってしまうことがあります。
これを対処するには、利用するサービスを、ポップアップ式広告のないところに変えていただくしかありません。ご了承ください。