- ベストアンサー
Flash内にCGIを表示する方法。
トップページで大きめにフラッシュを動作させます。 最後のフレームで更新記録を表示したいと思っています。フラッシュ内に複数行領域(という言い方であってます?)を表示して、その中にCGIの内容を表示すると言う感じですね。 この場合、どのようにセットしたらよいのでしょうか? また、CGIのほうにも何か仕込みが必要ですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1です。 すみません。補足に対する返事が遅れたみたいで。 #1のスクリプト自体は合っていると思うのですが, 文章が間違っています。 > インスタンス名を「news.」にし,[複数行] の設定… ↓変更↓ > インスタンス名を「news」にし,[複数行] の設定… インスタンス名「.(ドット)」が不要です。 というか根本的にこんなところに「.(ドット)」があってはなりません。 失礼しました。 それと ActionScript の方の注釈行 > //Load完了時の処理 > myLoadVars.onLoad = function(Success) { > //読み込みが成功したら > if (Success) { > //_root news mess > _root.news.text = this.mess; > //ロードに失敗したら > } else { > //なんとかごまかす言葉を表示 > _root.news.text = "更新情報はありません。"; > } > }; この部分の, > //_root news mess > _root.news.text = this.mess; ↓変更↓ > //_root の インスタンス名news のダイナミックテキストに, > //変数 mess の値を表示 > _root.news.text = this.mess; です。 注釈を書こうと思って忘れていました。 結局,インスタンス名「news」。 これが動かない原因だと思います。 「news」 は ドットが入っていてもいけませんが, 変数名であってもダメです。 インスタンス名です。 CGI の動きが変であったとしても, 以上のようにすると, 「更新情報はありません。」が表示されるだけで, 「undefined」が表示されることはなくなると思います。
その他の回答 (1)
Flash 側のスクリプトは LoadVarsクラス のメソッドで行けます。 一応,すっごい簡単な成功例 です(CGI苦手なんです…)。 今やってみました。 まず,ステージ上には, 複数行入るくらいのダイナミックテキストのテキストフィールドを作成し, プロパティパネルより, インスタンス名を「news.」にし,[複数行] の設定にしておきます。 文字の色は背景以外の色を選択してください。 インスタンス名は今勝手に news にしているだけで,アルファベット大小文字から始まっていれば,だいたいなんでもOKです。 またフレームは1フレームしか作っていない場合です。 --- renewal.cgi -------------------------- #! /usr/bin/perl #↑各プロバイダで指定しているパスを記述 print <<"_OUTPUT_"; Content-type: text/html;charset=iso-8859-1 mess=更新履歴\n3/5 一昨日はひな祭りだった。\n3/3 今日はひな祭りだ。 _OUTPUT_ exit(0); --------------------------------------- (↑\n は改行コードです。) ---Flash フレーム1 のスクリプト-------------- //↓Shift-JIS の場合(UTF-8では不要) System.useCodepage = true; //LoadVarsインスタンスの生成 myLoadVars = new LoadVars(); //Load完了時の処理 myLoadVars.onLoad = function(Success) { //読み込みが成功したら if (Success) { //_root news mess _root.news.text = this.mess; //ロードに失敗したら } else { //なんとかごまかす言葉を表示 _root.news.text = "更新情報はありません。"; } }; //LoadVarsインスタンス に 「renewal.cgi」 をロード myLoadVars.load("renewal.cgi"); --------------------------------------- 「renewal.cgi」 と それを表示させる SWF とそれを貼り付けた HTML を同じディレクトリにアップした場合です。 また一応,CGI の パーミッションは 777 にしました。 (そんなに高い数字にする必要はないと思いますが。) なにしろやり慣れていないわけで, 深く質問されてもわかりませんが,一応の例です。 LoadVars CGI と検索されるともっと応用的なものが紹介されていると思います。 ↓
お礼
返答ありがとうございます。 今ちょっと忙しくて試す時間がないので、後でやって見ます。 とりあえず、お礼の言葉だけでもと思い書き込みしました。すみませんが、結果についてはもう少しお待ちください。
補足
お待たせしました。 やってみたのですが、うまく動作しません。 「undefined」と出るだけで、何がどうなっているのかがさっぱりです。 とりあえず、コピペしただけなのですが、何か設定などが悪いのでしょうか?すみませんが、解決方法を教えてください。