• ベストアンサー

HTML上(javascript)からCGIを実行する方法

taketan_mydns_jpの回答

回答No.3

# 1です > これを直接cgiにすることは不可能で、javascriptなら可能ということなのでしょうか。 諸々の操作がiframeの中で完結するのでしたら、javascriptを経由する必要はありません。即ち、 <iframe src="http://hogehoge.com/cgi?a=zzzz&b=cccc=..."></iframe> としておけば良い訳です。 # iframeを使えば静的ページにどんどん動的ページを貼付ける事が出来ます(見た目的に)。frameで呼び出しているだけ、と言えば元も子もありませんが。。。

mmei
質問者

お礼

度々のコメントありがとうございます。 iframeで完結することが出来ると思いますので、 こちらも良い実現方法ですね。 貴重なコメントありがとうございました。

関連するQ&A

  • HTML化によるホームページの高速化方法について

    HTML内で外部サーバにあるCGIをjavascriptとして起動させて、 結果を表示する方法を行っていますが、実行させるjavascriptの数が多くなるに連れて ページが表示されるまでに時間がかかってしまいます。 そこで、ページが表示されるたびに毎回javascriptを表示させる方式(下例のold.html)ではなく、 old.html内のjavascript部分を実行させたものをHTML化したnew.htmlを 自動で作成するcgi(下例のtranslate.cgi)などを作りたいと考えていますが、 どのように作ればいいのでしょうか。 【old.html(一部抜粋)】 <BR>下記にtest.cgiの実行結果が表示されます!<BR> <SCRIPT language="javascript" src="http://www.xxx.com/test.cgi"></SCRIPT> 【test.cgi(一部抜粋)】 print "Content-Type: application/x-javascript\n\n"; print "document.write('<P>test.cgiの実行結果だよ</P>');"; 【new.html(一部抜粋)】 <BR>下記にtest.cgiの実行結果が表示されます!<BR> <P>test.cgiの実行結果だよ</P> ●translate.cgiの仕様は、下記の内容を考えています。 perlについては少しだけ理解はしているのですが、 (3)部分のプログラム方法がわかりません。 【translate.cgi】 (1)old.htmlファイルをオープンする (2)old.htmlファイルを一行ずつ読み込み、javascript以外であれば、 そのままnew.htmへ書き込む (3)javascriptの場合には、実行させた結果を取得しnew.htmlへ書き込む 大変お手数お掛けいたしますが、 どうぞよろしくお願い致します。

    • ベストアンサー
    • Perl
  • JavaScript実行結果を保存

    PerlでJavaScriptを実行し、その結果を出力することはできるのでしょうか? 例えば、 <HTML><BODY> <script> <!-- document.write("テストです"); // --> </script> </BODY></HTML> 上記のようでしたら、 <HTML><BODY> テストです </BODY></HTML> と、そのまま表示したいのですが("<"等は"&lt;"等に置き換えます。)、できるのでしょうか? 上の例だと、document.writeだけを消してしまえばいいのですが、if文やfor文などがあると消すだけでは無理ですので。。 宜しくお願いします。

    • ベストアンサー
    • Perl
  • HTMLからPerlを呼び出すには?

    今、Perlで他のサイトのtxtファイル(中身はliタグやaタグのHTMLファイルで、そのサイトではSSIで呼び出されています)を、入手して表示させるプログラムを作っています。 これを、呼び出して、あたかも私のサイトのように見せるにはどうすればよいでしょうか? 現在はiframeを使ってそのままtxtファイルのアドレスを指定しているのですが、拡張子がtxtであるため、IEでしか見れないという不具合があります。 これを解決するために、とほほさんのwww入門 http://tohoho.wakusei.ne.jp/wwwperl2.htm#socket で紹介されているPerlを参考にしました。そのPerlのファイルをブラウザから直接URL指定すれば実行できるようにはなり、txtの中身が表示されるようになったのですが、どのようにHTMLから呼び出せばよいのかわかりません。 やはりSSIで実行するしかないのでしょうか。 javascriptの場合、<script>タグでHTMLに直接スクリプトを記述できますが、Perlでもそのようなことは可能ですか?

    • ベストアンサー
    • HTML
  • CGIのプログラム設置でSSIを使わずに、JavaScriptで直接CGIを呼び出す

    SSIが使えないサーバーで、JavaScriptを使って、直接CGIを呼び出して、表示させるCGIの設置をしています。 CGIスクリプト配布先では、表示した箇所に下記タグを記載するようにと説明があります。 ----------------------------------------------- <html> <body> <script language="JavaScript" src="○○.cgi" > </script> </body> </html> ----------------------------------------------- 真っ白いままで表示されなく困っています。 ちなみに直接CGIにアクセスすると、崩れた表示で表示されますので、CGI設置は問題ないはずです。 (CGIのパーミッション755にしてあります) 質問がいくつかあるのですが・・・ ホームページ作成ソフトで作っていますので、<head>~</head>内に下記メタタグが自動挿入されていますが、何か関係があるのでしょうか? <meta http-equiv="content-script-type" content="text/javascript" /> language属性は HTML4.01に採用されなかったため、HTML4.01 に従う場合は language 属性ではなく、type属性を使用するという記載を検索で見つけましたが、type属性に変更すればよいのでしょうか? type属性に変更のタグはどうように記載すればよいでしょうか? JavaScriptはあまり詳しくないので、とんちんかんな質問だったらすみません。 どうぞよろしくお願いします。 ----------------------------------- 配布先CGI:http://www.nmt.ne.jp/~mamiko/scripts/index.html

  • CGIをHTML(scriptタグ)上でうまく呼び出せない

    お世話になっております。 ご存知の方いらっしゃいましたら、ご教授願えますでしょうか? HPにアクセスカウンタを設置したいと思い、 http://apps.cside.com/cgi/counter/jscnt/ こちらのアクセスカウンタをお借りして CGIのテストを兼ねてtest.htmで呼び出したいので、 test.htmに以下のような記述をしました。 ------------------------------------------------------------------------ <html> <head> <title>top</title> <script language="JavaScript" src="./jscnt/cnt.cgi"></script> </head> <body> </body> </html> ------------------------------------------------------------------------ また、こちらのCGIの説明ページに書いてある通り、 以下のように設置しました。  html/(レンタルサーバのメインディレクトリ)  │  ├ test.html ……………………… (755) カウンタ呼出しHTML  │  └ jscnt/  ………………………… (755) プログラムディレクトリ    ├ cnt.cgi …………………… (755) カウンタcgiファイル    └ data.cgi ………………… (666) カウント数記録ファイル 以上のように設定したのですが、真っ白のページが表示されるだけで、 カウンターが出ません・・・。 他に設定や何かタグ等を追加する必要があるのでしょうか? お手数ですが宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • 以下のようなものを作ったのですが、cgiによるjavascript出力

    以下のようなものを作ったのですが、cgiによるjavascript出力がうまくいきません。 理由がわからず困っています。 【http://www.gran-fenix.com/nao_archive/test/index.htm】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>テスト</title> <script type="text/javascript"><!-- var pageseq = 0; //--></script> <script src="./trick/test.cgi"></script> </head> <body style="background-color:white"> <noscript><p style="color:deeppink;font-weight:bold"> 【注意】 JavaScript が無効になっています。 </p></noscript> <br> <h1 style="font-size:200%;font-weight:bold;color:maroon"> <script type="text/javascript">document.write(page_title[pageseq]);</script> </h1> <hr> </body> </html> 【http://www.gran-fenix.com/nao_archive/test/trick/test.cgi】 #!/usr/local/bin/perl $jscr = 'test.txt'; $scr_body = ''; open (JSCR "<$jscr") || die "Can't open the JavaScript file\n"; while (<JSCR>) { $scr_body .= $_; } close (JSCR); print "Content-Type: text/javascript\n\n"; print <<"SCR"; $scr_body SCR 【http://www.gran-fenix.com/nao_archive/test/trick/test.txt】 var page_title = new Array(); page_title[0] = "テスト成功"; 具体的には、test.txtにある「テスト成功」の文字がHTMLのh1タグ部分に出力されません。 HTMLで、scriptタグのsrcを、test.txtと同じ内容のJSファイル test.js(場所も同じディレクトリ)にしてみると成功するので、原因はcgiにあると思うのですが、どこがおかしいのかわかりません。 なお、test.cgiのパーミッションは755、test.txtのパーミッションは644です。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • カウンタCGIについて

    今、カウンタを自作しています。 カウンタの種類はテキストカウンタです。 ですがカウンタを設置しているページからその他のページへ移動し、ブラウザの「戻る」ボタンで戻ってきたときにカウントがされないんです。 カウンタをテキストで表示したい、SSIを使いたくないと言う理由でHTMLページではJavaScriptを用いてCGIの内容を取得するようにしています。 どうしたら解決できるでしょうか?よろしくお願いします。 <index.htm> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>カウンタ</title> </head> <body> <p> <SCRIPT language="JavaScript" src="count.cgi"></SCRIPT> <noscript>JavaScriptをONにしないとカウンタは動きません。</noscript> </p> <p> <a href="http://www.yahoo.co.jp/">Yahoo!Japan</a> </p> </body> </html>

    • ベストアンサー
    • CGI
  • JavaScript内にJavaScriptを読み込む方法

    HTML内に <script type="text/javascript" src="main.js"></script> という一行を追加すると、バナーが表示されるというスクリプトを作成しています。 main.jsは、 html = '<script language="JavaScript">'; html += 'var url0101 = "url01.xxx.jp";'; html += 'var url02 = "url02.oooo.jp";'; html += '</script>'; html += '<script language="JavaScript" src="http://xxx.xxxx.xxx/test.js"></script>'); html += '<script language="JavaScript">'; html += 'Function01("check")'; html += '</script>'; document.write(html); というような風になっており、 (1) 変数の宣言 ↓ (2) http://xxx.xxxx.xxx/test.jsの読み込み ↓ (3) (2)で読み込んだjs内の関数Function01を実行 という流れです。 FireFoxでは表示されましたが、IE6では (2)のjsを読み込む前に(3)のFunction01が実行され、 「オブジェクトを指定してください」のエラーが表示されてしまいます。 よい方法がありましたら教えていただけますでしょうか? よろしくお願いします。

  • JavaScript内にJavaScriptを読み込む方法

    HTML内に <script type=\"text/javascript\" src=\"main.js\"></script> という一行を追加すると、バナーが表示されるというスクリプトを作成しています。 main.jsは、 html = \'<script language=\"JavaScript\">\'; html += \'var url0101 = \"url01.xxx.jp\";\'; html += \'var url02 = \"url02.oooo.jp\";\'; html += \'</script>\'; html += \'<script language=\"JavaScript\" src=\"http://xxx.xxxx.xxx/test.js\"></script>\'); html += \'<script language=\"JavaScript\">\'; html += \'Function01(\"check\")\'; html += \'</script>\'; document.write(html); というような風になっており、 (1) 変数の宣言 ↓ (2) http://xxx.xxxx.xxx/test.jsの読み込み ↓ (3) (2)で読み込んだjs内の関数Function01を実行 という流れです。 FireFoxでは表示されましたが、IE6では (2)のjsを読み込む前に(3)のFunction01が実行され、 「オブジェクトを指定してください」のエラーが表示されてしまいます。 よい方法がありましたら教えていただけますでしょうか? よろしくお願いします。

  • HTML上でcgiをイメージタグで呼び出すと×が出ます

    お世話になっております。 お分かりになる方いらっしゃいましたら、お手数ですがご教授願えますでしょうか? cgiを勉強しているのですが、以下のような感じで テストページを作ってみたところうまくcgiが呼び出せなくて困っています。 test.htmにてcgiをimgタグで呼び出そうとしています。 しかし、ブラウザで表示すると「×」が表示されてしまいます。 【test.htm】 --------------------------------------------------------------- <html> <head> <title>テスト</title> </head> <body> <IMG src="http://www.xxxxx.xx.xx/test.cgi" width="401" height="31" border="0"> </body> </html> --------------------------------------------------------------- ※「xxxxx.xx.xx」はドメイン名が入ります。 【test.cgi】 --------------------------------------------------------------- #!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>テスト</title>\n"; print "</head>\n"; print "<body bgcolor=\"#ffcccc\">\n"; print "これはCGIのテストです。\n"; print "</body>\n"; print "</html>\n"; --------------------------------------------------------------- となっています。 ちなみに設置の仕方は以下の通りになります。  html/(レンタルサーバのメインディレクトリ)  │  ├ test.htm ……………………… (755) テストcgi呼出しHTML  │  └ test.cgi …………………… (755) テストcgiファイル 直接test.cgiを指定すると問題なく表示されます。 何か原因が他にあるのでしょうか? お手数ですが宜しくお願いいたします。

    • ベストアンサー
    • HTML