• ベストアンサー

SWFからHTML読みこみ

昔似たような質問を投降しましたが、 当方の環境が変わったので改めて質問させて下さい。 環境は以下の通りです。 Windows XP Flash 8 Professional 具体的には SWFからHTMLを読み込む方法 (loadswfの様な関数が知りたい/FLASH8レベルまでの) バージョンによって出来る事、出来ない事が知りたい (HTML読みこみ面に置いて) 補足要求ありましたらお願いします。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.3

#2です。 >>LoadVars.onData = function(引数){}; >これなんですが、 >読み込まれる側(HTML)で変数を宣言する >必要がなくなって便利と言う事ででしょうか? そうですね。 実用的な物の例では,csvファイルをFlash内にロードするときとかに便利です。 例↓ http://blog.livedoor.jp/unahide/archives/51412345.html csvも単なる文字列としてしか扱われませんが, データ形式が決まり切っているので, Flash内で「改行で split()」,「カンマで split()」 などのようにすれば, csv中の各要素データを取り出したりすることができます。 その他も考えれば色々応用が利くのではないかと思います。 とにかく何にしてもロードするだけなので, その後の処理は自作しなければなりませんけどね。

popepon
質問者

お礼

有難うございます。 これは便利ですね、 これから使っていこうと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

昔(と言ってもFlash MX 2004)もFlash 8 も変わりませんよ。 場合によっては Flash 4 (1999年)とも変わりがありません。 > SWFからHTMLを読み込む方法 これは,Flash 4 から使用できる loadVariables(); loadMovieNum(); 関数  ※実際は Load Variables ("URL", "MC")         Load Variables ("URL", レベル) また Flash 5 から使用できる MovieClip.loadVariables メソッド でも可能です。 HTML と言っても単なるテキストデータですから, "ロードまでを考えるだけ" なら, テキストをロードできるようになった最初のバージョンから可能だったということです。 ただ本当の HTML の場合は 「変数=値」 というデータ形式になっていませんから, Flash4 でも Flash5 でもそれを取りだすことが容易ではありません。 Flash 5 の場合は, ムービークリップにテキストをロードして, onClipEvent(data) のタイミングで for..inを回せば, なんとか 「変数=値」 というデータ形式になっていない単なるデータも取りだせます。 しかし実用的ではありません。 あと取りだせても, タグ や onClick や href そのものも全て単なるテキストですから, そのタグの意味通りに表示したり機能させたりということはできません。 これまたまったく実用的ではないということになります。 ------ Flash MX になりますと, LoadVarsクラス(LoadVarsオブジェクト)が登場しましたから, このクラスのインスタンスを作成し(LV = new LoadVars();), そのインスタンスにテキスト(HTML)をロードし, LoadVars.onData = function(引数){}; で何かを実行させると, この 引数 にロードしたデータが入るようになりましたから, 取りだしがすごく楽になりましたし,これは実用の範囲だと思います。 しかし, 結局HTMLを取りだせても Flash 5 と同じです。 タグ や onClick や href そのものも全て単なるテキストですから, そのままでは言語としては動作しません。 しかし Flash MX では, テキストフィールドがインスタンスとして, つまり独立したオブジェクトとして扱えるようになりました。 これと同時に「テキストをHTMLとしてレンダリング」する機能も付きました。 でも, この「テキストをHTMLとしてレンダリング」は, 簡単なタグ(<br> とか <p> とか <b> とか)が認識されるだけで, テキストフィールド内のレイアウトや文字の色や太さを変えられるという, ほんの軽いテキストの装飾の意味しか持っていません。 普通の HTML を表示するような代物ではないということです。 ------ Flash MX 2004 になりますと, 「テキストをHTMLとしてレンダリング」したときに, <img> タグが使用可能になりました。 つまり, loadMovie や MovieClipLaderクラスのメソッドを使用しなくても, テキストフィールドの中に外部JPEGが表示できるようになったということです。 しかし, 実際に使ってみると惨々で, テキストと画像をうまく組み合わせてレイアウトすることはほとんどできません。 結局 Flash MX と同じで, 「テキストをHTMLとしてレンダリング」を使っても, 簡単なタグが認識されるだけで, 普通の HTML を表示するような代物ではないということです。 ------ Flash 8 になっても全く Flash MX 2004 と変わらないでしょう。 詳しくは Flash8 のヘルプ  ActionScript 2.0 の学習    >テキストとストリングの操作     > HTML 形式のテキストの使用 辺りを参考にしてみてください。 HTML 形式のテキストの使用 http://livedocs.adobe.com/flash/8_jp/main/00001457.html ==================== 結局ですね。 HTML のロードは昔から簡単にできるのです。 しかし, その言語を Flash が ブラウザのように扱わないわけです。 FlashPlayer はブラウザではないので当然のことですけどね。 HTMLって結構危険な動作につながることもしますし, その中で JavaScript や CSS が働いて, ちゃんとした表示がされる場合が多いです。 そんな機能を FlashPlayer に持たせることがおかしいですよね。 IE や NN や Opera や Firefox の機能を FlashPlayer に持たせるということになるのです。 それは危険ですし,FlashPlayer ももっと重い物になってしまいます。 というわけで, そっち方向にはひとつも進化していませんよ。 将来的にもおそらく進化しないでしょう。 仮に(あくまでも仮にです), すごい未来にHTMLが表示できるようになったとしても, ブラウザによってHTMLの表示が異なるように, それ以上に他のブラウザとは違った表示になることは間違いないでしょう。 ------ 大きく考えると, HTML は少しだけ動作が機能する不自由なテキストや画像装飾レイアウト言語です。 また環境によって表示のされかたはかなり変わります。 それに比べると, Flash はかなり多用な動作機能をし,かなり自由なテキストや画像やムービー装飾レイアウトなどができるコンテンツです。 また同じバージョンの FlashPlayer を持っていれば環境の影響をほとんど受けません。 (CPU と 回線速度 の影響は受けますが...。) ですから, HTMLのような不自由で不安定なものをFlash内に持ちこむという発想より, 元から装飾などを持たないXMLデータをFlash内にロードして, XMLデータを Flash 内で装飾レイアウトした表示にするという方向の方が良いですし, 実際にそのようなものは多いです。 ※例えば Blog のようなもので   HTML ではなく XML(RSS)を吐き出させて,   その XML をFlashで料理するというようなことです。 これは XMLクラスを使えば,データのロードもデータの操作もできます。 そちら方面で考えるのが普通ですし良いと思います。 口下手な私が長々と書くより, 他のコミュニティですが, こちらの方↓の回答の方が端的で良いかもしれません(端的2行)。 「GAC [21560] ムービークリップにhtmlを表示させたい。」 http://www.gac.jp/article/index.php?stats=question&category=19&id=21560&command=msg

popepon
質問者

お礼

ご解答有難うございます。 バージョン毎のご説明で理解しやすかったです。 >LoadVars.onData = function(引数){}; これなんですが、 読み込まれる側(HTML)で変数を宣言する 必要がなくなって便利と言う事ででしょうか? >実際に使ってみると惨々で, >テキストと画像をうまく組み合わせてレイアウトすることはほとんどできません。 ついさっき実感させられました <img>タグ使用出来る様になったとは薄々気づいていたのですが、 まさかそれだけとは思わず残念でなりません。 XMLの件ですが、ちょっと気になっていたのもあったので 検討してみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • EE_88mm
  • ベストアンサー率50% (11/22)
回答No.1

「SWFからHTMLを読み込む方法」とは、SWF内に外部HTMLを読み込んでレンダリング表示する、と言うことでしょうか? だとすると、無理だったはずです。 HTMLを文字列として取り込むことはできたと思いますが…。

popepon
質問者

お礼

ご解答有難うございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • FLASH内でのHTML読み込み

    いつもお世話になっております。 今回はFLASH内でHTMLを読み込む方法が分からず ご助言頂ければと思い、投稿させてい頂きました。 使用しているバージョンは FLASH5Jです。 具体的にはSWF内で既存のHTMLをそのままブラウザの様に読み込みたいのですが テキストの値を読み込ませ、 SWF内でサポートされていない記述(一部のHTMLタグとか) を試行錯誤して取り除いて行く、という方法しか無いでしょうか? その場合ですとイメージタグ等が使えない様なので困っています。 補足要求等あればお願い致します。 宜しくお願い致します。

  • Flash(swf)内の外部からの動画の読み込み(FLASH5)

    いつもお世話になっております。 今回はFLASH内に動画を取り込む手法についてご助言頂ければと思い 投稿させて頂きました。 当方はFLASH5のみとなりますが他のソフトを使う等のご提案もあれば お願い致します。(FLASH8,9は価格が高いので除外でお願いします。) ・目的(理想) FLASH5のSWFからAVI、 もしくは動画の何れかを外部から読み込み再生する ・試した事 FLASH5で作成したSWFをFLASH8試用版で作成した外部FLAファイルを読む SWFを呼び出す。->失敗。FLASH5からFLASH8のSWFが読み込めない。 AVIをMOV(QUICK TIME)にコンバートし、FLASH5の別のSWFに埋め込む。 ->コンバート失敗、もとがDivXの為か? どの様な事でもよいのでご参考になる手法等あればお願い致します。 また、当方の環境の理由から出来るだけMOV形式は避ける方向でお願い致します。

    • ベストアンサー
    • Flash
  • スクリプトでHTML上に書き出された画像を、SWFに読み込ませたい

    PHPなどのスクリプトによってHTML上に書き出された画像URLを、SWFに読み込ませて表示させたいのですがどのようにしたらよいでしょうか。 たとえば物件紹介などのサイトで、データベースに1つの物件に対して複数の画像を登録し、登録(アップロード)された画像URLをフラッシュでアルバムのように表示させたいのです。 PHPスクリプトによってHTML上に画像を書き出すことはできるのですが、それをSWFに読み込ませるにはどうしたらいいのかわかりません。 XMLに画像URLを登録していって、そのXMLをSWFに読み込んで表示、というのではなく、HTML上に書き出されたURLを読み込ませたいです。 アルバムはこちらを参考に作成しています。 http://hfm-kenchan.com/Lesson/log_qa/D0610061.htm ※スクリプトで書き出される画像ファイル名は一定の規則をもっていないため、連番で表示というのができません。 説明下手なもので分かり辛くてすみません。 どなたかご教授いただけないでしょうか。 よろしくおねがいいたします。 ■環境 ・Windows XP ・Flash8 ・ActionScript2.0

    • ベストアンサー
    • Flash
  • FLASHとHTML

    FLASHで作成したと思われるサイトの中に、テキストがあったりしますよね。 swfでは文字のコピペはできませんが、通常のHTMLのようにコピペができる文字もあります。 このようなものを作成するにはどうしたらいいのでしょうか? HTMLをflashで読み込むと、読み込めないタグもあるとききましたが…。 使用しているのはFLASH5です。

  • swf以外からswfを制御

    教えてください! FLASH初心者なので頓珍漢なことをいっていたらごめんなさい。 HTMLの中にswfを置き、 ボタン(swfの外、HTML上にあるボタンです)を押すと、swfが指定したフレームにジャンプするみたいな事はできるのでしょうか?

  • 1つのhtmlに複数のswfを

    1つのhtmlにswfを複数貼り付けると何かしら不具合が生じたりするのでしょうか。 テストしてみたところ気になったのはFlashの表示速度が遅くなるという点はのみでした。 もしかしたら「そんなこと基本的にやっちゃだめでしょ」ということなのかと思い 質問させていただきました。 ちなみにページ構成ですが、 * 画面上部 メインメニュー(HTML)とFlash画像 * 画面左側 サブメニュー(Flash) * 画面右側 テキスト(HTML) とする予定の為、全てを1つのswfで作成することは考えていません。 参考書には載っていない為お分かりになるかたからアドバイスいただけると助かります。 宜しく、お願いします。

    • ベストアンサー
    • Flash
  • 外部から読み込まれたSWFによるfscommandの使用

    お世話になります。 早速ですが、質問です。 WindowsXP SP2+Flash MX2004Pro+IE6の環境で作業しています。 SWFからHTML上のJavaScriptの関数を呼ぶという処理があるのですが、getURLにてこの処理を実装すると、同じHTML上のアニメーションGIFがアニメーションを停止してしまいます。 そこでIEの場合はfscommandで、と思ったのですが、SWF自体を外部JavaScriptにて読み込んだ場合に、VBScriptのサブルーチン(ムービー名_FSCommand)を呼んでくれないようで(無反応です)、困っております。 しかしながらSWFをクリックしないとアクティブにならないというのは避けたいので、SWFを外部JavaScriptから読みこむ事も止められず、という状況です。 何か良い対策などありましたらご教授いただければ幸いです。

    • ベストアンサー
    • Flash
  • FLASHでデータ保存したがswfファイル

    新しく購入したパソコンにFlash5をインストールして 動画を作成して保存してパブリシュしたのですがFlashムービーとHTMLファイルは 保存されてますがSwfファイルが保存されません。 その代わりにShockwave Flash Objectファイルが保存されています。 どうすればswfファイルが保存されるようになるのでしょうか? よろしくお願いいたします。

  • flash作製ツール

    はじめて投稿します。 私はflash maker2でswfをつくっています。 flash maker2では、swfがtmというバージョン(?)が できることはマニュアルで分かっています。 一方、私が使っているVJソフトはflash4で作製した ものならばインポートが可能とありました (解説には、「flash5で作製されたものはflash4で 書き出す」よう、促しがありました)。 そこで、flash maker2で作製したswfでインポートして みましたが、うまく再生されませんでした。 おそらくバージョンが違うということなのでしょうが、 flash maker2で、flash4で書き出すことが可能でしょうか? また、これを機に、思い切って、flash mxを買おうかと 思っていますが、flash4 や flash5での書き出しは 可能なのでしょうか? 初歩の初歩の質問ですみません。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • HTMLからのパラメータの引渡しについて

    HTMLからの引数によって、FLASHで読込むテキストファイルを変更したいのです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1584907 を参照し、以下のようにHTMLに記述しています。 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="500" height="25"> <param name="movie" value="flash.swf?cd=10"> <param name="quality" value="high"> <embed src="flash.swf?cd=10" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="500" height="25"></embed> </object> しかし、FLASHが思うように動かないのです。 ブラウズのアドレスに直接 http://localhost.flash.swf?cd=10 と記述し、呼び出すと動作します。 何が原因でしょうか?