10月29日に、KITAさんは書きました。 >BiglobeのWWW2uサーバで新たにホームページを作ろうと思い、 >カウンターを設置してみました。 私もちょうどwww2uサーバ上でnpc.cgi(0.83)を動かしているので テストしてみました。 >試しにIEで動作確認した時も、NNで見た時も、数字の増え方等は問題ないのですが、 >IEで見たときはドラムがちゃんとゆっくり回転しているように見えるのに、 >NNで見たときには回転がものすごく速く表示されてしまいます。 以下の3種類のブラウザが対象です。 NC4.73 Netscape6 PR3 IE5.0 ※なお、設定ファイル(npc.idx)の中で DELAY を'1000,50'としています。
画像が表示されてから 回り始めるまで | 回り始めてから 止まるまで | |
---|---|---|
NC4.73 | 約1秒 | 約1秒 |
Netscape6 PR3 | 約1秒 | 約1秒 |
IE5.0 | 約1.2秒 | 約1.5秒 |
※表中の秒数は正確な計測値ではなく、計測者の感覚的な値です。 [結論] IEの方がアニメーション速度は若干遅い感じです。 クライアント(パソコン等)の性能等の理由でその差が顕著になっているのでしょうかね。 >NNで見たときにも、きちんと表示されるようにすることはできるのでしょうか? 設定ファイルの中で、NCかIEかを判断してNCの場合にDELAYの値を大きくすればできるのでは ないでしょうか。 具体的なやり方は、アクセスカウンタ npc.cgi マニュアルを参照しながら ご自分で調べて見てください。 (あるいはにあさんの回答を待つか (^^;; ) #ところで、今回のテストで見つけたのですがにあさんのところのカウンタ(npc.cgi)を #Netscape6 PR3で見ると、初めは全桁の画像が表示されますが、回転が始まると変化した #桁しか表示されなくなります。 #自分のところのカウンタではそんな現象にはならなかったので違いを調べてみたら #PROGRESSオプションのON/OFFが違うようでした。 #だからどうというのは言えませんが、とりあえずご報告しておきます。
10月30日に、TADさんは書きました。 >IEの方がアニメーション速度は若干遅い感じです。 >クライアント(パソコン等)の性能等の理由でその差が顕著になっているのでしょうかね。 IE5とNC4.73(先のメールではNNと書いてしまいました)で 見比べてみてアニメーション速度が違ったので、 設定がおかしいのか、それとも私のパソコンがおかしいのかと悩んでいましたが、 元々IEの方がアニメーションの速度が遅かったのですね。 教えていただいてありがとうございます。
10月30日に、TADさんは書きました。 >#ところで、今回のテストで見つけたのですがにあさんのところのカウンタ(npc.cgi)を >#Netscape6 PR3で見ると、初めは全桁の画像が表示されますが、回転が始まると変化した >#桁しか表示されなくなります。 >#自分のところのカウンタではそんな現象にはならなかったので違いを調べてみたら >#PROGRESSオプションのON/OFFが違うようでした。 多分そこでは無く、透明色を設定しているか否かの違いだと思います。 Netscap6 で透明色画像を「背景色に戻す」モードで部分修飾した場合、 修飾した部分だけでなく、画像全体が背景色に戻されてしまうのです。 多分これはバグだと思うので、その内直るでしょう。(^^) # 仕様だったらどうしよう。(^^;
11月14日に、にあは書きました。 >多分これはバグだと思うので、その内直るでしょう。(^^) と思ったのですが、6.0の正式版になっても相変わらずですね。(^^;; # どうなっているんだ!?
11月15日に、にあさんは書きました。 >11月14日に、にあは書きました。 > >>多分これはバグだと思うので、その内直るでしょう。(^^) > >と思ったのですが、6.0の正式版になっても相変わらずですね。(^^;; ># どうなっているんだ!? これですが、確かにバグですね。 で、私がNetscape6の元になっているMozillaのバグ追跡システムBugzilla-jpに 登録しておきました。Bugzilla-jpの担当の方が、本家へ登録されてます。 ということで、いずれは直ると思うのですが、Target MilestoneがFutureに なってますので、いつ頃直るかは不明です。
IE5.5ではインターネットオプションの一時ファイルの設定で デフォルトで「自動的に確認する」が設定されますが、この状 態で下記の様な事象が発生しています。 (1)アクセスカウンタ設置のページ(例:index1.htm)を表示さ せ、そのページからリンク先(例:index2.htm)をクリック してindex2.htmに移動します。 (2)index2.htmにindex1.htmに戻るリンク指定があり、それをクリ ックすると必ずindex1.htmのカウンタはカウントアップします。 ブラウザの「戻る」ボタンではカウントアップされません。 なお、IE4系、IE5.0系では本事象は発生しません。 インターネットオプションの一時ファイルの設定で「確認しない」 にすればリロードされずカウントアップされませんが、すべての ベージに適応されてしまうため問題があります。 これはIE5.5のキャッシュ管理のバグと思われますが、リロードし た時のカウントアップ制限を行えばこの現象を回避できますか?
11月13日に、たくさんは書きました。 > IE5.5ではインターネットオプションの一時ファイルの設定で > デフォルトで「自動的に確認する」が設定されますが、この状 > 態で下記の様な事象が発生しています。 > > (1)アクセスカウンタ設置のページ(例:index1.htm)を表示さ > せ、そのページからリンク先(例:index2.htm)をクリック > してindex2.htmに移動します。 > (2)index2.htmにindex1.htmに戻るリンク指定があり、それをクリ > ックすると必ずindex1.htmのカウンタはカウントアップします。 > ブラウザの「戻る」ボタンではカウントアップされません。 ふーむ、なるほど。 > インターネットオプションの一時ファイルの設定で「確認しない」 > にすればリロードされずカウントアップされませんが、すべての > ベージに適応されてしまうため問題があります。 これは、全く更新チェックをしないモードですからね。 > これはIE5.5のキャッシュ管理のバグと思われますが、リロードし > た時のカウントアップ制限を行えばこの現象を回避できますか? いや、これはどちらかと言うとnpc.cgiの方の問題ですね。(^^;; IE5.5になって初めて発現したとすると、IE5.5のキャッシュ制御機構が より正確になったためだと思われます。 IE5.5のキャッシュの制御オプションを見ると、 (1) ページを表示するごとに確認する (2) Internet Explorer を起動するごとに確認する (3) 自動的に確認する (4) 確認しない となっていますが、(1)、(2)の場合はそれぞれ〜ごとに必ず更新チェックしますが、 (3)の場合はキャッシュに残っているコンテンツに「最終変更日時」がセットされていて、 それがInternet Explorerの起動より後で、かつ、有効期限も切れていない場合には 更新チェックせず、その他の場合にチェックしているようです。 # これは自動チェックの基準としては良い選択だと思います。 ところが、npc.cgi は「最終変更日時」をセットしていないため、必ず更新チェック されてしまうようです。 今までは、Content-Type が image/* の場合は最終変更日時が無くても、キャッシュに 残っている限りチェックしなかったのでしょう、おそらく。 以前(と言うか、最初の頃、つまり大昔。(^^;;)に調べた時には、画像データに最終変更日時 (Last-Modified レスポンスヘッダ)を付けても意味無しか、弊害のほうが多かったため、 つけるのを止めた覚えがあるのですが、この頃のブラウザはキチンと情報を渡してやった方が より正しい動作をするようですね。 本来なら、各カウンタエントリごとに最終更新日時を残してやり、それとの比較でカウントアップを 制御すべきですが、残念ながら、現在の設定ファイル(カウンタファイル)は個別の更新日時を 残す様なフォーマットになっていないので、その変更をするためには、設定ファイルの中で カウンタエントリ部分の書式変更が必要になり、後方互換性が確保出来ないので、チト面倒ですね。 # 試しにnpc.cgiに現在時刻をLast-Modifiedに返すだけの簡単なwrapperを被せてやったら # 望みの動作をするようになったので、とりあえずは、その変更だけでお茶を濁すかな。(^^;; 中々出てこられなくてすみません。m(__)m > ALL そろそろリハビリを開始しないと、このまま引退に追い込まれてしまうなぁ (^^;;;
11月14日に、にあさんは書きました。 > >ところが、npc.cgi は「最終変更日時」をセットしていないため、必ず更新チェック >されてしまうようです。 > なるほど。そうだったんですね。 > >本来なら、各カウンタエントリごとに最終更新日時を残してやり、それとの比較でカウントアップを >制御すべきですが、残念ながら、現在の設定ファイル(カウンタファイル)は個別の更新日時を >残す様なフォーマットになっていないので、その変更をするためには、設定ファイルの中で >カウンタエントリ部分の書式変更が必要になり、後方互換性が確保出来ないので、チト面倒ですね。 > ># 試しにnpc.cgiに現在時刻をLast-Modifiedに返すだけの簡単なwrapperを被せてやったら ># 望みの動作をするようになったので、とりあえずは、その変更だけでお茶を濁すかな。(^^;; > 恐らく今回の件は現在時刻をLast-Modifiedにセットすることで回避できそうです。 こちらもやってみます。どうもありがとうございました。
11月14日に、たくさんは書きました。 >11月14日に、にあは書きました。 >> >>ところが、npc.cgi は「最終変更日時」をセットしていないため、必ず更新チェック >>されてしまうようです。 > >恐らく今回の件は現在時刻をLast-Modifiedにセットすることで回避できそうです。 >こちらもやってみます。どうもありがとうございました。 一応、Last-Modified を返すように npc.c をパッチしてみました。 # 互換性の面から strftime() じゃ無くて asctime() を使っているので、 # ちょっとソースが汚いけど。(^^; ここのペーヂではIE5.5でもカウントアップしなくなったので多分大丈夫だと思います。 ただし、将来のヴァージョンでこのまま採用するかどうかは分からないです。 # Last-Modified で返す時刻をいつにするかは、設定ファイルで選択できるように # しておいた方が良さそうなので。
npc.idx を以下のようにしているのですが、 リロードするとカウントしてしまうのです。 何か手順が違うのでしょうか? #!npc.cgi -- ファイル先頭行の「#!npc.cgi」で npc.cgi の設定ファイルか # どうかを見分けています。 ### # 最初の部分は sample1.idx と同じ条件を構造化文を使って書いています。 # =WIDTH 8 =PROGRESS OFF =INCREMENT 1 =IF=REFERER ^ $ =INCREMENT 0 =RESTRICTION 1 =ELSIF=REFERER ^http://nocount@www\.k-hosaka\.com/ =RESTRICTION 0 =INCREMENT 0 =ELSIF=REFERER ^http://www\.k-hosaka\.com/ =RESTRICTION 0 =IF=BROWSER ^Mozilla/[1-9] =PROGRESS ON =DELAY 1000,50 =ENDIF =IF=ADDR 127.0.0.1 =INCREMENT 0 =ELSIF=HOST ^meshse[0-9]*\.mesh\.ad\.jp $ ^host\.domain\.com $ =INCREMENT 0 =ENDIF =ELSE =RESTRICTION 2 =ENDIF ### # オプションでモード=1が設定されている場合は、リロードしても # カウントアップしないようにしています。 # =IF=ENV=HTTP_PRAGMA no-cache =INCREMENT 0 =ENDIF =COUNTER 0000057651 hosaka
11月14日に、がぶんさんは書きました。 >npc.idx >を以下のようにしているのですが、 >リロードするとカウントしてしまうのです。 >=IF=ENV=HTTP_PRAGMA > no-cache > =INCREMENT > 0 >=ENDIF ここでも何度か話題は出ていますが、リロード時にPragma: no-cacheをつけるのは Netscapeで、IEは付けてくれ無いのです。(^^; という事で、IEに対しては、 この手法でのリロード抑制は出来ません。 その他の手法に付いては、TADさんがこちらの記事で書いてくれていますね。 # この記事でのメインの話題は後で訂正があったので、スレッド全体を参照した方が良いかも知れませんが。
初めて投函します。 お忙しいとは思いますが宜しくお願い致します。 11月14日のIE5.5でカウントアップしない パッチされた記事を拝見しました。私はニフティにHPを持っています。現在はバイナリ(Solaris 2.5.1版)をダウンロードし使用しています。TOPページのカウンターはnpc.cgiを使いたいし このカウントアップをどうにかしたいのです。 ニフティではC言語は利用できない・telnet接続は駄目 そして一番重要なことはコンパイルの事がぜんぜんわからないのです。 @パッチされたCGIのバイナリはありませんか。 Aコンパイルができるのなら手順を教えて頂けないでしょうか よろしくおねがいいたします。
11月23日に、tanakacyanさんは書きました。 >11月14日のIE5.5でカウントアップしない パッチされた記事を拝見しました。私はニフティにHPを持っています。現在はバイナリ(Solaris 2.5.1版)をダウンロードし使用しています。TOPページのカウンターはnpc.cgiを使いたいし このカウントアップをどうにかしたいのです。 >ニフティではC言語は利用できない・telnet接続は駄目 そして一番重要なことはコンパイルの事がぜんぜんわからないのです。 > >(1)パッチされたCGIのバイナリはありませんか。 あたしの手元には Solaris 2.5.x は無いので、こちらでは出来ませんね。 誰か作ってくれる人がいると良いですが。 >(2)コンパイルができるのなら手順を教えて頂けないでしょうか telnet が使えれば、ソースディレクトリで make 一発、の筈ですが、 ログインアカウントが無いと難しいでしょう。 サーヴァに gcc がインストールされていれば、それでも無理やり作ることが出来ないことも無いですが、 C言語も使えないのでは、チョットお手上げですね。
はじめまして。伊藤といいます。Cobalt RaQ3にてnpc.cgiを利用しようと奮闘している初心者 です。よろしくお願いします。 最新版のVer.0.83をダウンロードしてコンパイルして使用いるのですが、なぜかnpc.cgiを呼び 出すときに、オプションに「I=npc.idx」が無いと「BAD npc.idx File」というエラーになっ てしまいます。「Cannot Open Index File」では無いのでnpc.idxが見つからないわけではな いと思いますし、I=npc.idxと書いてやれば問題なく動くのでnpc.idxの書式に問題があるとも 思えません。もちろん、makefileは「INDEX_FILE = npc.idx」と指定しています。 オプションに「I=npc.idx」を付ければ何の問題も無く正常に動作するのですが、なぜこのよう になってしまうかが不明です。同じような症状の方はお見えでしょうか?
伊藤です。すいません。自己レスです。 >出すときに、オプションに「I=npc.idx」が無いと「BAD npc.idx File」というエラーになっ このエラーメッセージですが、正確に言うと以下のようになっています。 /home/..(中略)../cgi-bin/npc.cgi(1): BAD npc.idx File これは「I=」オプションを使用しないときの定義ファイルのデフォルト値が、何故かnpc.idxで はなくnpc.cgiになっているとではないでしょうか? そしてnpc.cgiを設定ファイルと勘違い して読み込みをするが設定ファイルではないのでエラーを出したということに考えられます。 しかしnpc.cgiとnpc.idxは違うところに置いてあり、INDEX_DIRで指定したところには npc.idxしかなくnpc.cgiは存在しないので、単純に「I=」オプション指定無しのときのデフォ ルト値がnpc.cgiということだったら、connot openのエラーメッセージが出そうな気もするの ですが・・・。 makefileは INDEX_DIR = /usr/local/etc/httpd/index しか変更していません。 なぞは深まるばかりです・・・。 素人考えですがRaQ3がCGIWrap経由でCGIを実行していることが原因でしょうか?
11月29日に、伊藤さんは書きました。 >>出すときに、オプションに「I=npc.idx」が無いと「BAD npc.idx File」というエラーになっ > >このエラーメッセージですが、正確に言うと以下のようになっています。 > >/home/..(中略)../cgi-bin/npc.cgi(1): BAD npc.idx File > >これは「I=」オプションを使用しないときの定義ファイルのデフォルト値が、何故かnpc.idxで >はなくnpc.cgiになっているとではないでしょうか? そしてnpc.cgiを設定ファイルと勘違い >して読み込みをするが設定ファイルではないのでエラーを出したということに考えられます。 確かに、/home/.../cgi-bin/npc.cgi を設定ファイルと思って呼んでいますね。 >素人考えですがRaQ3がCGIWrap経由でCGIを実行していることが原因でしょうか? おそらく、CGI Wrapper から npc.cgi への呼び出しを、 /.../cgiwrap/USERID/cgi-bin/npc.cgi?... のような形式で行っているのじゃないか、と思うのですが、どうでしょうか? npc.cgi からの設定ファイル指定には I=... 以外にも PATH_INFO 形式でも出来るのですが、 CGI Wrapper から npc.cgi の呼び出しに PATH_INFO 形式を使っているため、その時の情報が npc.cgi にも渡ってしまい、npc.cgi 自身のパスを設定ファイルと思ってしまったようですね。 I=... のオプション設定をすれば、デフォルトの PATH_INFO による設定に優先されますから 正常な設定ファイルが読めた、という事でしょう。 もしも、PATH_INFO による設定を無視させたいなら、param.c の 108〜111 行にある、 | if (((str = getenv("PATH_INFO")) != NULL) && (*str != EOS) | && ((str = getenv("PATH_TRANSLATED")) != NULL) && (*str != EOS)) { | env.index = new_str(str); | } の部分を削除してしまえば良いです。 そうでないなら、毎回 I=... を書く必要がありますね。 # この頃、CGI Wrapper では無く、SuEXEC によりユーザ権限へ移行するのが一般的に # なってしまったので、あまり PATH_INFO がらみのトラブルは聞かなくなりましたね。(^^)
ANHTTPDを使ってnpc.cgiを動かしたいのですが、可能ですか? また可能な場合は、プログラムをどう書き換えたらいいですか? C言語のプログラムはほとんどわかりません。 どうかよろしくお願いします。
初心者なんですが、 npc.cgiを貼り付けようと、OSを調べたら下記のようにかえってきました、 それで SunOS用のnpc.cgiをup(バイナリーで)したんですが、サーバーエラーに なります、パーミッションも701とか777とも試したんですが、テストに失敗します どのSO用を使えばいいのかわかりません、お助けください SunOS www2 5.8 Generic i86pc i386 i86pc
12月8日に、ふな虫さんは書きました。 >npc.cgiを貼り付けようと、OSを調べたら下記のようにかえってきました、 >SunOS www2 5.8 Generic i86pc i386 i86pc ははあ、IA(Intel Architecture)上のSolaris8ですね。 とりあえず、手元のSolaris8マシンでコンパイルしたバイナリを加えておきました。 # ついでに、Sparc上のSolaris7のバイナリも。
12月9日に、にあさんは書きました。 >12月8日に、ふな虫さんは書きました。 > >>npc.cgiを貼り付けようと、OSを調べたら下記のようにかえってきました、 >>SunOS www2 5.8 Generic i86pc i386 i86pc > >ははあ、IA(Intel Architecture)上のSolaris8ですね。 >とりあえず、手元のSolaris8マシンでコンパイルしたバイナリを加えておきました。 > 有難うございました、無事 貼り付けに成功です、npc.idxまでのパスの書き方が間違っていたみたいで、 貼り付けまで一日かかってしまいました。 OS事にプログラムを変えねばならない、結構初心者には難しいカウンターです。 これからも よろしくです、