まずCGIで処理して時間を取得します。
それを普通のHTMLに埋め込みたいと思っています。

CGIプログラムの中にHTMLを入れるのではなく、HTMLにカウンタを埋め込む要領でテキストも表示する事は可能なのでしょうか?

どうか教えて下さい。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

>iframeとはIFRAMEと同じ事を指し示しているのでしょうか?



ええ、タグ名は大文字でも小文字でも同じです。

>つまりgooなどもIFRAMEのHTMLタグを使ってトップページを表示させているという事でよいのでしょうか?

そうです。
ブラウザでソースを表示させればgooのトップページのソースを御覧になれますので、一度御確認下さい。
尚、先の回答でも述べましたが、nolayer(layer未対応のブラウザの場合)の処理として組み込まれていますので、必ずしもiframeで表示されているわけではないことも御確認下さい。

>また、ネットスケープのバージョン6ですが、まだまだ動作が安定せず以前のバージョンを使用しているユーザーが多いといううわさを来たのですが本当でしょうか?

こちらは統計を知っているわけではないのではっきり申し上げられませんが、私自身の経験として明らかに以前のバージョンとは違う動きをする場面がありますので、やはり敬遠される方は多いかと思います。
ちなみに、私の場合はチャットプログラムのリロード時の動作が、他のバージョンや他のブラウザではきっちり動作しているのにNetscape6ではバグってしまいます。(未解決)

尚、ホームページの確認をする上で、Netscape6が最新版である以上は無視出来ないと思いますので、旧バージョンと併用して確認されるのが良いと思います。
なるべく多くのブラウザで確認されるのが望ましいですよね。(^_^)
    • good
    • 0

補足有り難うございます。


さて、IFRAMEですが、Netscapeでは6.0以上で対応というのはご存じでしょうか?
もしもバージョン6未満でお試しでしたら6以上でお試し下さい。
尚、gooの場合、nolayer時の対応としてiframeが組み込まれていましたので、恐らくilaiyerの方が読み込まれているのではないかと思います。
外していた場合はご容赦を。(^_^;

この回答への補足

iframeとはIFRAMEと同じ事を指し示しているのでしょうか?つまりgooなどもIFRAMEのHTMLタグを使ってトップページを表示させているという事でよいのでしょうか?
また、ネットスケープのバージョン6ですが、まだまだ動作が安定せず以前のバージョンを使用しているユーザーが多いといううわさを来たのですが本当でしょうか?私はネットスケープ派ではないので解りませんが、情報が有れば教えて下さいませ。
しつれいします。

補足日時:2002/04/08 05:46
    • good
    • 0

ちょっと時間が経ってしまいましたが、解決したでしょうか?


未解決の場合は補足して頂ければ、判る範囲内で再回答しますよ。(^_^)
(範囲外の場合はご容赦を)

>deagleさん

判断がつかなかったので反応しなかったのですが、もしかしたら私へのフォローですね?
一応理解していたつもりですが、書き方が悪かったですね。(^_^;
フォロー有り難うございました。<(_ _)>
余談:今度の納車待ちもじれったいでしょうね~。(^_^)(あ、顔文字だらけ)

この回答への補足

CGIの処理をHTMLに組込んでホームページを作成したいと思っています。
いろいろな試みをしてCGIで処理したテキストや画像をHTMLに組込んでみましたが結構出来ると思いきや、ネットスケープではぜんぜん写らなかったりしていてだめでした。

<IFRAME src="http://www.it-service.co.jp/cgi-local/timeNow.cgi" hspace="0" vspace="0" frameborder="0" scrolling="NO" width="200" height="20">
</IFRAME>

が代表的な物です。
検索エンジンgooなどを見てみると各個所にフレームのような物を入れ込んで表示させているようですが、ネットスケープで閲覧してもぜんぜん大丈夫なので驚きました。
どのようにしているのか教えて頂けないでしょうか?お願いします。

補足日時:2002/04/05 19:34
    • good
    • 0

 1つだけおせっかいを。



 「HTML埋め込み型」のCGIのことをSSIといいます。
 CGIとして動作するすべてのプログラムは、SSIとして動作させることも可能ですので(プログラムがそういう前提で組み立ててあればですが)、CGIでできることはすべてSSIでできます。
    • good
    • 0

>HTMLにカウンタを埋め込む要領でテキストも表示する事は可能なのでしょうか?



SSIとして動作させるということでしょうか?
出来ると思います。
本来カウンターだってテキストで表示出来るわけで、見栄えの問題で画像に置き換えているのですから。
詳しくはSSIについて書かれたサイトを御覧になった方が良いと思います。(参考URL参照)

#但し、お使いのサーバーがレンタルで、SSIの使用を許可していない場合は出来ません。

参考URL:http://tohoho.wakusei.ne.jp/wwwssi.htm
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCGIの中で出力するテキスト内容をhtml側で表示する方法。

htmlからCGIファイルを呼び出すと、そのCGIは動作はしているようですが、
print等でhtml形式で文字出力させている部分は、ブラウザ内に表示されません。
今やって失敗している方法です。どのようにするのが良いか教えて頂ければ幸いです。

1.CGIスクリプト(Perlで記述)を用意... test.cgi
-----------------------------------------------------
#!/usr/bin/perl
print "Content-type:text/html; charset=shift_jis\n\n";
print <<__EOD;
<html lang="ja">
<head>
<title>TITLE</title>
</head>
<div align=center>
<a>テスト1</a><br>
<a>テスト2</a><br>
</div><br>
</body></html>
__EOD

open(OUT,">a.tmp") || die "$!";
print OUT "aaaaa\n";
close(OUT);
-----------------------------------------------------


2.htmlを用意 ... test.html
-----------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>HTML TEST</title>
</head>
<body>
<script src="http://xxx/CGI/test.cgi"></script>
</body>
</html>
-----------------------------------------------------

上記のとき、動作として、

◆ブラウザからCGIのパス(http://svr1/CGI/test.cgi)に直接アクセスした場合、
「テスト1」「テスト2」の文字が表示され、a.tmpファイルも作成されている。

◆ブラウザからhtml(http://svr1/test.html)にアクセスした場合、ブラウザ画面は何も表示されない
(真っ白となる)が、a.tmpファイルは作成されている。

のようになってしまいます。

後者のようにして、htmlからCGIファイルを呼び出すと、そのCGIは動作はしているようですが、
print等でhtml形式で文字出力させている部分は、ブラウザ内に表示されません。

以上、よろしくお願い致します。

htmlからCGIファイルを呼び出すと、そのCGIは動作はしているようですが、
print等でhtml形式で文字出力させている部分は、ブラウザ内に表示されません。
今やって失敗している方法です。どのようにするのが良いか教えて頂ければ幸いです。

1.CGIスクリプト(Perlで記述)を用意... test.cgi
-----------------------------------------------------
#!/usr/bin/perl
print "Content-type:text/html; charset=shift_jis\n\n";
print <<__EOD;
<html lang="ja">
<head>
<title>TITLE</title>
</head>...続きを読む

Aベストアンサー

<script src="http://xxx/CGI/test.cgi"></script>としているなら
perlで出力するヘッダーは
print "Content-Type: application/x-javascript\n\n";
としないとならないでしょう。

perlではjavaScript構文を出力します。

例えばhtmlでは・・
<BODY>
<SCRIPT TYPE="Text/Javascript" LANGUAGE="Javascript">
<!--
document.write ("<SCRIPT TYPE=\"text/JavaScript\" SRC=\"test.cgi\"></SCRIPT>");
// -->
</SCRIPT>
</BODY>

として、perlでは

#!/usr/bin/perl
print "Content-Type: application/x-javascript\n\n";
print "document.write('<A HREF=\"other.html\">てすと</A>');";

てな感じです。

<script src="http://xxx/CGI/test.cgi"></script>としているなら
perlで出力するヘッダーは
print "Content-Type: application/x-javascript\n\n";
としないとならないでしょう。

perlではjavaScript構文を出力します。

例えばhtmlでは・・
<BODY>
<SCRIPT TYPE="Text/Javascript" LANGUAGE="Javascript">
<!--
document.write ("<SCRIPT TYPE=\"text/JavaScript\" SRC=\"test.cgi\"></SCRIPT>");
// -->
</SCRIPT>
</BODY>

として、perlでは

#!/usr/bin/perl
print "Content-Type: appli...続きを読む

QHTMLのファイルにCGI処理結果を表示する

まずトップページはhtmlで作ります。
そのトップページにいつも変化する所があるのでcgiで処理を施したものをhtmlに貼り付けたいと思っています。
その場合に例えば画像を出力させる場合は

<IMG src="cgi-local/top.cgi">

で指定し、

#!/usr/local/bin/perl
print "Content-type: image/jpeg\n\n";
open FH,"<../image.jpg";
binmode FH;
binmode STDOUT;
print while(<FH>);
close FH;

をやれば動かせますが、これを画像ではなくhtmlを表示させるためには
print "Content-type: image/jpeg\n\n";

print "Content-type: text/html\n\n";
に変更する事により可能だと思いやってみたのですが、うまく出力できませんでした。
cgi処理をうまくhtmlに貼り付ける方法があるのでしょうか。どうか教えて頂けないでしょうか?お願します。(涙)

まずトップページはhtmlで作ります。
そのトップページにいつも変化する所があるのでcgiで処理を施したものをhtmlに貼り付けたいと思っています。
その場合に例えば画像を出力させる場合は

<IMG src="cgi-local/top.cgi">

で指定し、

#!/usr/local/bin/perl
print "Content-type: image/jpeg\n\n";
open FH,"<../image.jpg";
binmode FH;
binmode STDOUT;
print while(<FH>);
close FH;

をやれば動かせますが、これを画像ではなくhtmlを表示させるためには
print "Content-type: image/jpeg\...続きを読む

Aベストアンサー

<IFRAME src="*******.cgi" frameborder="0" scrolling="NO" width="" height="" ></IFRAME>

↑表示させたい場所に挿入すれば、
HTMLを出力するCGIでしたらこの中に表示されます。

ブラウザによっては見えない???かも..。

Qtest.cgiプログラムでファイルの取得

 題目のプログラムで、現在ディレクトリー内のファイルをすべて取得して、編集したいですが、どうすればよいでしょうか。

Aベストアンサー

opendirでファイル名を取得して編集すればいいと思います。

参考URL:http://www.7key.jp/program/perl/opendir.html

Q1つのプログラム内で"html出力"の部分とそれ以外の処理部分の共存

1つのプログラム内で"html出力"の部分とそれ以外の処理部分の共存
こんにちわ。
・リロードイベントをキャッチしたhtmlからリクエストをcgiが受信(html出力部分)
・カウンタ値を保存しているtxtファイル(data.txt)から現在の値を読み出す
・+1してファイルにまた値を書き込む
・その値をhtmlにも返して表示させる(html出力部分)
といった具合のプログラムを作りたいのですが、html出力をしている部分とそのほかの処理を同じcgiファイルに入れているとうまく動かないみたいです。
以下が問題のファイルの中身です。

(test.cgi)
#!/usr/bin/perl
open(IN, "../html/2010/data.txt");
my $counter=<IN>;
close(IN);
$counter++;
open(OUT,"> ../html/2010/data.txt");
print (OUT "$counter\n");
close(OUT);

print "Content-type: text/html\n";
print "\n";
read(STDIN, my $data, $ENV{'CONTENT_LENGTH'});
print "$counter\n";

ページをリロードして処理を確認するとdata.txt内の値は変わらないまま、それに1を足しただけの値が表示されます。しかしdata.txtの中身が0でサーバのコマンドラインで
perl test.cgi
といった風に動かしてみると
Content-type: text/html
1
といった感じに今度はちゃんとdata.txt内の値もちゃんと書き換えられて出てきます。
html出力部分とdata.txtの書き換え部分は分離させたほうがよいのでしょうか?分離しなければいけない場合は互いのデータの受け渡し方法もご教授お願いします。

1つのプログラム内で"html出力"の部分とそれ以外の処理部分の共存
こんにちわ。
・リロードイベントをキャッチしたhtmlからリクエストをcgiが受信(html出力部分)
・カウンタ値を保存しているtxtファイル(data.txt)から現在の値を読み出す
・+1してファイルにまた値を書き込む
・その値をhtmlにも返して表示させる(html出力部分)
といった具合のプログラムを作りたいのですが、html出力をしている部分とそのほかの処理を同じcgiファイルに入れているとうまく動かないみたいです。
以下が問題のファイルの...続きを読む

Aベストアンサー

パーミッションには自分、グループ、他人の3種類あります
コマンドラインから実行する場合は自分なので自分のパーミッションに書き込み権限があればできます
HTMLで実行するのは他人なので他人に書き込み権限がなければできません
0644(rw-r--r--)ではだめで0666(rw-rw-rw-)でないとだめです

QCGIプログラムを使った申し込みフォームでメーラーに送信し、HTML形式で表示していますが文字化けしてしまいます。。

Perlで書いたCGIプログラムを使って、申し込みフォームを作成し、送信先をOutlookExpressのメーラーにしてHTML形式で表示しています。
サーバーはLINUX、メールを見ているPCはWindows98SEです。
しかし、なぜか申請書という文字が瑞ソ書というふうに文字化けしてしまいます。
他の字は大丈夫のようなんですが。。どうしたら良いでしょうか?
もちろん、print OUT "Content-type: text/html; charset=\"ISO-2022-JP\"\n";
の指定はしています。

Aベストアンサー

「申請書」が「瑞ソ書」に化けてしまうのは、スクリプトがシフトJISで書かれているために起こる問題であって、メールの送信云々とは無関係です。
例えば、
  print "申請書";
とだけ書いたスクリプトで、同様の結果が得られます。
直すには、「申」の後ろに「\」を付ける(つまり "申\請書" とする)方法が簡単です。
他にも「表」「予」「能」など、文字化けを起こしたりする文字が多数あります。

以下に原因の詳細などを書きますが、長いので興味がなければ読み飛ばしてください。

「申請書」のシフトJISの文字コードは
  申   請   書
  90 5C 90 BF 8F 91 (16進)
となっています。
このうち「申」の2バイト目である「5C」というコードは、文字「\」(エスケープコード)であるため、すぐ後の「90」とくっついて「\x90」という扱いになってしまいます。

つまり Perl の内部では、
  print "\x90\x90\xBF\x8F\x91";
であると解釈されてしまい、これをシフトJIS環境で表示すると
  90 90 BF    8F 91 (16進)
  瑞   ソ(半角)書
となるわけです。
※もし「ソ」が全角になっているとすれば、メール送信用にJIS変換する際に、jcode.pl よって全角に変換されているのです。

このような原因により、既に化けてしまった文字列を メール送信しているので、受け取った側でも化けて見えるのは当然ですね。

この問題は Perl がシフトJISの事情など考慮せずに作られているのが原因(世界中で使われているのだから当然)で、上記のように「5C」の後ろにもう1つ「5C」を書くことで解消できます。
これが面倒な場合は、日本語が扱える jperl を使う、スクリプトを EUC で書く、などの対処方法があります。

「申請書」が「瑞ソ書」に化けてしまうのは、スクリプトがシフトJISで書かれているために起こる問題であって、メールの送信云々とは無関係です。
例えば、
  print "申請書";
とだけ書いたスクリプトで、同様の結果が得られます。
直すには、「申」の後ろに「\」を付ける(つまり "申\請書" とする)方法が簡単です。
他にも「表」「予」「能」など、文字化けを起こしたりする文字が多数あります。

以下に原因の詳細などを書きますが、長いので興味がなければ読み飛ばしてください。

「申請書」のシ...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報