CGI-BBS > 基礎 > その他 > ランダムバナーをHTMLに組み込んでscriptで表示したい。


(株)友林堂
(株)友林堂


質問者 あたる  投稿日 1/30(木) 16:42:21
はじめまして。

バナー広告をランダムで表示できるプログラムを作りたいのです。

しかも、どのバナーにも対応できるように、
こんなのを作ったのですが。

rand.cgiとします。
---------------------------------------------
#!/usr/local/bin/perl
# ランダムバナー出力CGI

#ここに表示したいタグを記入する。
@filename = (

"<a href="xxx.html><img src="xxx01.gif></a>",
"<a href="xxx.html><img src="xxx02.gif></a>",
"<a href="xxx.html><img src="xxx03.gif></a>",

);

srand;	# timeをseedにして初期化
$num = int(rand(@filename));

$|=1;# バッファリングの停止
#undef $/;

print "Content-type:text/html\n\n";

if (open(UZ ,"$filename[$num]" )){

	print STDOUT <UZ>;
	close UZ;

} else {

	print $filename[$num]."\r\n";

}
--------------------------------------------
これなら、普通にrand.cgiを呼び出せば、表示されるのですが、

これを、HTMLに組み込んで
<script src="rand.cgi>で表示させたいのです。

どうしたらよいのでしょうか?

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:Win95系
エディタ:秀丸
FTPソフト:FFFTP
サーバ移転:していない
改造:(未選択)
CGI習熟度:middle

回答者 しあわせのツボ  [削除]  投稿日 1/30(木) 18:33:54
CGIはscriptタグでは呼び出せません。
# scriptはJavaScriptなどクライアント側で実行するスクリプト用のタグです。

SSIを使うか、それが不可能ならページ全体をCGIから出力します。
回答者 いのちゃん  [削除]  投稿日 1/31(金) 01:18:11
>バナー広告をランダムで表示できるプログラムを作りたいのです。

画像をランダムに表示すると言う例として以下のものを何点か選ん
みましたがご参考になるものがあれば幸いです。

http://www.kcb-net.ne.jp/ki-net/change/index.shtml
(アクセス毎に表示を変える)

http://www.kcb-net.ne.jp/ki-net/page69.html
(NEXT IMAGE バーをクリック)

http://www.kcb-net.ne.jp/ki-net/page105.html
(画像を自動的に入れ替える)

http://www.kcb-net.ne.jp/ki-net/page118.html
(マウスの動きで3つの画像を入れ替える)

http://www.kcb-net.ne.jp/ki-net/page208.html
(TIME2で画像を入れ替える、IE6.0)

全て表示 (V)→ソース (C) でscriptは見れますのでご意向に添ったものが
あるかどうかを見て見て下さい。



質問者 あたる  [削除]  投稿日 1/31(金) 12:14:39
ありがとうございます。
scriptで呼び出せないんですか?

でも<script src="rand.cgi></script>で
やったら、こーなったんですが・・・

下記のように作りなおしました。
<script src="rand.cgi></script>
で呼び出したら、
バリューコマースのバナーだけ表示されるんです。

IFRAMEを使ってないバナーが表示されません。

なんででしょうか^^;

rand.cgiとします。
-----------------------------------------------------------------
#!/usr/local/bin/perl
# ランダムバナー出力CGI

#ここに表示したいタグを記入する。
@filename = (

#バリューコマースバナー
"<IFRAME src=\"http://ad.jp.ap.valuecommerce.com/***/***\">
 <script Language=\"javascript\" Src=\"http://ad.jp.ap.valuecommerce.com/***/***\"></script>
 <noscript><a Href=\"http://ck.jp.ap.valuecommerce.com/***/***\" target=\"_blank\" >
 <img Src=\"http://ad.jp.ap.valuecommerce.com/***/***\" Border=\"0\"></a></noscript></IFRAME>",

#A8バナー
"<a href=\"http://px.a8.net/****/***\" target=\"_blank\">
<img border=\"0\" src=\"http://ad.a8.net/***/*****\"></a>",

#その他バナー
"<a href="xxx.html><img src="xxx03.gif></a>",

);

srand; # timeをseedにして初期化
$num = int(rand(@filename));

$|=1;# バッファリングの停止
#undef $/;

print "Content-Type: text/javascript\n";
print "Pragma: no-cache\n";
print "Cache-Control: no-cache\n\n";

if (open(UZ ,"<$filename[$num]" )){

print STDOUT "document.write(\'$filename[$num]\')\;";
close UZ;

} else {

print "document.write(\'$filename[$num]\')\;"."\r\n";
-----------------------------------------------------------------

返信(回答)する

 


Web裏技