
| CGI Script Market トップページ|CGIスクリプトのサンプルとダウンロード|Q&Aラウンジ掲示板 |
「すえぽんさいと」さんで無料配布されている電光!をinfoseekでの設定する方法です。 (バージョンは5.10です)
***************************************************
320行目近辺にあるjs_outputというサブルーチンの記述を探して、下のようにtext/plainを消してください。。 sub js_output { if ($buffer eq "html") { $data_dir = $tmp; print "Content-type: text/html\n\n"; print "<html>\n<head>\n<title>$title</title>\n"; print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n"; print "</head>\n$html_body\n<script>\n"; } elsif ($buffer =~ /\d\d\:\d\d\:\d\d/ || ! $buffer) { print "<script>\n"; $tmp = $data_dir; } elsif ($buffer eq "js") { print "Content-type:text/plain\n\n"; }←ココが問題!! else { &error("処理内容が不明です"); } ---------------------------------------------------------------- rel.htmlを作る必要はありません。 ------------------------------------------------------------------- インフォーセークのCGIは{cgi-bin}というフォルダーを作ってその中に格納しなければなりません。 以下はトップページに表示させる場合の設定です、cgi-binフォルダの中にdenkohフォルダをつくり その中にdenkoh.cgiとjcode.plとtempフォルダとimageフォルダを置いています。 作ったCGIはトップページから、 <script src="cgi-bin/denkoh/denkoh.cgi?js"></script> と記述して呼び出します。 これから下は、cgiファイルの設定部分で注意が必要な部分です。 (赤文字は注意して記述したり変更するところです) #!/usr/local/bin/perl # 1行目サーバーperlのある場所local/追加 # このスクリプトファイルをhttp:からのフルパスで記述 $script = "http://netharukaze.hp.infoseek.co.jp/cgi-bin/denkoh/denkoh.cgi"; # 作業用ディレクトリ(/temp/フォルダ) # 表示するページから見たパスで記述 $data_dir = "./cgi-bin/denkoh/temp/"; # 作業用ディレクトリ(/temp/フォルダ) # このスクリプトファイルから見たパスで記述 $tmp = "./temp/"; # アイコン用画像 $img_dir = "http://netharukaze.hp.infoseek.co.jp/cgi-bin/denkoh/image/"; # 画像設置ディレクトリ(http:からのフルパスで記述) temp(777)とimage(755)のふたつのフォルダはdenkohフォルダの中(直下)にないといけません。 (↑かなり重要。。) ------------------------------------------------------------------------------- 余禄ですが投稿する時に開く別窓の広告を消すことにします。 かなり下のほうにある ------------------------------------------------------------------------------- sub header { print "Content-type: text/html\n\n"; print "<html><head>\n"; print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n"; &style(0); print "<title>$title $_[0]</title>\n"; print "</head>\n<body>\n"; ←★この部分を捜す } ------------------------------------------------------------------------------- を捜して、print "</head>\n<body>\n";を消して、 print "<noscript><body></noscript></head>\n<body>\n";と書き換えてください。 尚、その近辺にあると思いますが、 sub menu 、sub gate 、sub error、sub input、sub res、sub regist、sub delete1 以上七つのサブルーチンのそれぞれ最後の部分の、 print "</body></html>\n";という記述をみつけて、 print "</body></html><noscript>\n";と追加してください。 この方法は旧Q&A掲示板で活躍されていたやまちゃんさんの考案です。 簡単に広告を消せるので禁じ手とされていましたが、今回のように開く窓が広告より小さい場合はしかたありませんね。 -------------------------------------------------------------------------------SSIによる表示について
ここより下は現時点での最新バージョンである5.20での改造方法です。 SSIモードでの表示は、iswebではexecコマンドが使えないので駄目だと思っていましたが、 sahf氏からのご指摘によって、<!--#include virtual=""--> を使って呼び出せるそうです。 該当ページへのリンクは、sahfさんのサイトです。 --------------------------------------------------------------------------------------------------- さて、改造方法ですが、 JSで呼び出す場合、旧バージョンではContent-typeを空にするようにしましたが、 今回それも含めて、sahfさんにヘッダーの切り替えを考えていただきましたので、 せっかくですから、それをそのまま別のパッケージにして使わせてもらうことにしました。 1:先ず、こちらからrental.plというファイルを入手してください。 zipで圧縮してありますので、適当な場所に解凍してください。 2:そのまま何もせずに、denkoh.cgiと同じ階層(場所)にrental.plをアスキーモードでアップロードし、 iswebの場合はパーミッションを604に設定します。 3:denkoh.cgiの以下の部分を、書き換え又は加筆後にアップロードしてください。 denkoh.cgiの2行目に、require "rental.pl";と記述します。 これは、パッケージを読み込ませるためのものです。 これを忘れるとエラーがでますので、ここはかなり重要です。 次に、スクリプトの307行目からの、sub js_outputの最初の部分を sub js_output{&change;# if ($buffer eq "html") { # $data_dir = $tmp; # print "Content-type: text/html\n\n"; # print "<html>\n<head>\n<title>$title</title>\n"; # print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n"; # print "</head>\n$html_body\n<script>\n"; # } # elsif ($buffer =~ /\d\d\:\d\d\:\d\d/ || ! $buffer) { print "<script>\n"; $tmp = $data_dir; } # elsif ($buffer eq "js") { print "Content-type: text/html\n\n"; } # else { &error("処理内容が不明です"); } if ($ul_mode) {上のようにコメントアウトするか、思い切ってズバっと削除してください。 でその代わりに、&change;と記述します。 先程のrequire "rental.pl";と合わせて以下に簡単にまとめます。 ------------------------------------------------------------------------------------------------- #!/usr/local/bin/perl require "rental.pl"; #↑スクリプトの二行目でパッケージを読み込ませる ------------------------------------------------------------ sub js_output { &change; if ($ul_mode) { #↑sub js_outputの最初の部分をこのように変更 #で、rental.plをdenkoh.cgiと同じ所にアップロードする -------------------------------------------------------------------------------------------- iswebでの設置でしたら、以上の変更だけで、JSモードでもSSIモードでも一応は表示されるはずです。 JSモード呼び出しタグ例 <script src="http://netharukaze.hp.infoseek.co.jp/cgi-bin/denkoh/denkoh.cgi?js"></script> SSIモード呼び出しタグ例(必ず、?cgiというパラメータをつけて呼び出すこと) <!--#include virtual="http://netharukaze.hp.infoseek.co.jp/cgi-bin/denkoh/denkoh.cgi?cgi"--> 勿論、単体で表示(テストモード)させることも可能です。 http://netharukaze.hp.infoseek.co.jp/cgi-bin/denkoh/denkoh.cgi?html iswebでのSSIによる設置例(ikeye氏) -------------------------------------------------------------
|
<html> <head><title></title></head> <body> <br><br><br><br><br> <br><br><br><br><br> <table><tr><td> <a name="le1"> <script src="http://netharukaze.hp.infoseek.co.jp/cgi-bin/denkoh/denkoh.cgi?js"></script> </td></tr></table> |