
javascriptから外部実行ファイル(javascriptファイルではなくperlなどのCGI)
を実行する方法を探しています。
下記のようにindex.htmとtest.cgiファイルを用意して、index.htm内の
javascriptから外部cgiを実行させ、cgiの結果(test.cgiでは単に
『test』と表示するのみ)を表示したいと考えています。
利用増ですが、cgiやssiが使用できないサーバにindex.htmを置いて、
cgiが使用できるサーバ上のcgi結果を取得したいものです。
通常のcgiのように、1ページでcgi結果を表示するものではなく、
HTMLファイルの一部にcgi処理結果を表示させたいものです。
そもそも、SSIを使用しなければ下記のようなHTML内にcgiなどの
実行結果を表示する事は出来ないのでしょうか。
よろしくお願い致します。
※下例のプログラムではcgi結果は表示されませんでした・・・。
---<index.htm>----------------------------------------
<HTML>
<BODY>
<SCRIPT language="Javascript" src="http://xxx.xxx.xxx.xxx/test.cgi"></SCRIPT>
</BODY>
</HTML>
---<test.cgi>----------------------------------------
#!/usr/bin/perl
print "test"
No.2ベストアンサー
- 回答日時:
「Google AdSense」のjavascriptでは#1さんの回答にもありますがiframeを使用するような仕掛けになっているようです。
・javascriptでiframeを展開。
・iframeのsrcでcgiを指定。
>外部cgiでjavascriptを生成する仕組みを作り、その生成されたjavascriptを参照するという間接的な仕組みを設ければ可能になる
そういう仕組みも可能です。
また、直接的に<script type="text/javascript" src="xxxx.cgi"></script>
こういう書き方も可能です。
※xxxx.cgiでは処理結果をjavascriptのコードとして
print "Content-Type: application/x-javascript\n\n";
print "document.write('xxxx');";
みたいにして吐き出す必要があります。
コメントありがとうございます。
なるほど、外部実行したcgi側の出力は
javascriptの形態にしなければならないのですね。
よく理解できました。
ありがとうございます。
No.3
- 回答日時:
# 1です
> これを直接cgiにすることは不可能で、javascriptなら可能ということなのでしょうか。
諸々の操作がiframeの中で完結するのでしたら、javascriptを経由する必要はありません。即ち、
<iframe src="http://hogehoge.com/cgi?a=zzzz&b=cccc=..."></ifr …
としておけば良い訳です。
# iframeを使えば静的ページにどんどん動的ページを貼付ける事が出来ます(見た目的に)。frameで呼び出しているだけ、と言えば元も子もありませんが。。。
度々のコメントありがとうございます。
iframeで完結することが出来ると思いますので、
こちらも良い実現方法ですね。
貴重なコメントありがとうございました。
No.1
- 回答日時:
いわゆるAJAX的(リッチコンテンツ、)な表示法を考えてらっしゃるようですが、セキュリティの関係でJavaScriptの仕様上、外部サーバへの接続(XMLHTTPRequest)は出来ない事になっています。
ですが、全く似たような事が出来ない訳ではなく、疑似表示法としてフレームやiframeを使えば表示可能かと思います。
それ以外の方法としては、Flashを使えば外部サーバとのやり取りも可能です(外部サーバはドメイン指定)。Flashはアニメや音声だけでなく、このような使い方も可能です。
参考まで。
早速のコメントありがとうございました。
私がやりたいことをもう少し具体的にお話したいと思います。
「Google AdSense」というアフィリエイトがあります。
それは、自分のHTMLページに、指定されたjavascriptを貼り付けるだけで
貼り付けた部分に、Google AdSenseの処理結果が表示されるものです。
私も同様な構造の仕組を作りたいと思いました。
下記に、自分のHTMLページに貼り付けるGoogle AdSenseから
指定されたサンプルスクリプトを引用いたします。
<script type="text/javascript"><!--
google_ad_client = "XXX";
google_ad_width = XXX;
google_ad_height = XXX;
google_ad_format = "XXX";
google_ad_type = "text";
google_ad_channel ="";
//--></script>
<SCRIPT type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show …
</SCRIPT>
上記スクリプトを自分のHTMLへ貼り付けることで、外部で処理された結果が
自分のHTML内に表示されるものなのですが、これは簡単に出来ないものなのでしょうか。
上記スクリプトでは、外部のjavascript(show_ads.js)を指定しているようなのですが、
これを直接cgiにすることは不可能で、javascriptなら可能ということなのでしょうか。
そうであれば、外部cgiでjavascriptを生成する仕組みを作り、その生成されたjavascriptを参照するという
間接的な仕組みを設ければ可能になるのでしょうか。
質問ばかりで申し訳ございませんが、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- CGI 一番簡単なCGI,掲示板の設置教えてください 4 2023/08/22 10:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onChange="javascript:関数名"...
-
デザイン時のVisible=Falseは実...
-
禁止文字チェック
-
VB.NET2003 テキストボックスに...
-
if(1){...}とはどういうことで...
-
JSPの処理の途中で、JavaScript...
-
JavascriptでのExcel起動について
-
チェックボックスのチェックの...
-
javascriptで最初のところに戻...
-
1つのVBAコードをすべてのコア...
-
エクセルVBA/ Formatで文字列が...
-
表示ページによって、aタグ内の...
-
ハイフンだけ置換したい。
-
delete[]と、delete演算子の明...
-
教えてgooの質問の文字数はどう...
-
Excelのマクロ一括実行ができな...
-
Ajaxで通信したJavascript動作...
-
C#でボタン名を変更しても動く
-
入力された文字を1文字ずつチ...
-
eval()の危険性の具体例を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptからサーバサイドの...
-
VBScript から JavaScript を呼...
-
javascript で外部サイトにデー...
-
ウィンドウの文字の件について
-
MSアクセスの、サーバーでの設...
-
javascriptの全文検索
-
DocumentCompletedが複数回発生...
-
このJavaScriptのどこが間違っ...
-
adobe製品を立ち上げるとjavasc...
-
javascriptでwebkitのstyleを変...
-
onChange="javascript:関数名"...
-
HTML上(javascript)からCGIを...
-
指定フォルダに存在するフォルダ名
-
カーソルを合わせると画像が変...
-
JSPの処理の途中で、JavaScript...
-
以下のコードを実行しても、オ...
-
PowerPointで時計表示
-
〔Excel:VBA〕マクロの実行が異...
-
VB.NET2003 テキストボックスに...
-
VBAによる第3、4水準文字の判定...
おすすめ情報