もし、自動広告でもなんら問題なくCGIが動くのであれば、 ここを読む必要はない。 ここでは、CGIがうまくいかない場合の解決法を書く。
xフォルダにCGIを丸ごとぶち込んでフレームから呼び出せ。 どうせ今からする説明なんて読んでもわからん。 俺でもよくわかっていないからな。
つうことで、終了。
自動広告による影響は既に述べたが、 はっきり言うとうまくいかないCGIは次のタイプだ。
まとめると、HTMLファイルを吐かないCGIはうまく行かないと言うことだ。 自動広告はHTMLであるという前提でおこなっているから、こうなってしまう。
回避の仕方は既に述べた。 nobannerタグ以外の方法であれば、どれでもいい。
さて、問題は広告だ。 画像を出力するCGIやLocationでどっかに吹っ飛ばすCGIであれば、 広告を貼り付ける必要はない。 というより広告を貼り付けることは出来ない。
だが困ったことに、同じCGIのくせにHTMLを吐く場合もあったりする。 カウンタ等の管理モードなどがそれにあたるだろう。 何で、管理用のCGIを別に作らないんだよ…と俺は疑問に思うんだが、 そう思うやつがどうやら少数派らしいのだ。 ということで、これらのCGIに広告を付ける必要があるのか? と思うことだろうが、 XREAでは管理人のみが見るような管理用のCGIには 広告を貼り付ける必要がないとされている。 よって、他の人に見えるように公開していない限り、 広告を貼り付ける必要はない。
しかしだ、掲示板などでよく使われるLocationを時々吐くCGIは困った物である。 公開されているモードでもHTMLだったりLocationだったりする。 この時はHTMLに広告を手動で貼り付ける必要があるだろう。 まあ、頑張れとしか俺は言うことが出来ないが…。
まず、手動広告タグを入手する必要がある。 これは管理メニュー*1 から手に入れられる。 人によって異なるから注意が必要だ。 使うタグは通常の物でもポップアップでも構わない。 ただし、自動広告のタグは手動広告として使ってはならない。
さて、広告タグは手に入れたとして説明を続けよう。 まず、cgiのファイルを中身を検索してみよう。 もちろん、 CGIプログラマーなら正規表現検索が使えるエディタを使っているだろうな?
<[Bb][Oo][Dd][Yy][^>]*>
これでbodyの開始タグの位置がわかった。 あとはその後ろに広告タグを加えるだけだ。 簡単だろ。
と、ここで本当は終わりにしたいのだが、 うまくいきません、エラーがでますと言う奴が絶対でてくる。 なんつうか、お前はとほほ *2 を全ページ読んでから*3、 ここを読め。 お前は本当にCGIを知っているのか? 問いたい、問いつめたい、小一時間問いつめたい。 つうことで、Perlについては参考になるサイトはたくさんあるので、 説明を省く*4。
おお、君はRubyユーザーか。
なら、君にだけこっそり教えよう。
まず文字列が「"」で囲まれているかどうかで違う。
もし、「"」で囲まれていなかったら、
そのまま広告タグをbodyの開始タグの後ろに付けるだけでいい。
では、囲まれていたらどうするのか?
その時は、" + '広告タグ' + "と挿入しろ。
「+」ではなく「.」をつけるとPerl用になるのだが、気にするな。
また、「+」ではなく「<<」にするとスクリプトがちょっとだけ高速になる。
……。
いずれ書くよ…。 俺使ったことないから、よく知らないんだ…。 ごめんよ…。
これ以上はそれぞれのスクリプトによって異なる。 取れる選択肢はこれらいずれかだ。
なお、CGIの作者に聞くのだけはやめろ。 そのCGIが有料有保証でない限りはな。
なんつうか…、 書いていて疲れた割には 説明が下手くそな物になってしまった。