« F-site - シゴトをするとき 【制作全般:SIHOゼミ】 | 日本語版 10月12日? »
base パラメータ
最近まで知らなかったこと。
HTML と swf の階層が違うからムービープレビューのときに外部ファイルを読み込めない!という問題を解消できそうな base パラメータ。
HTML で Flash を表示する際、外部ファイルへのパスを HTML 基準で書かないとダメだから、ムービープレビューのときに外部ファイルを読み込めない(HTML と swf の階層が違う場合)ということがあったけど、HTMLで <object>タグ、<embed>タグに base パラメータを設定すれば Flash の中でディレクトリを気にせず外部ファイルを読み込めるかも。

index.html に「swf ディレクトリ内」の main.swf を表示し、その main.swf へ同じディレクトリにある sub.swf を loadMovieNum で読み込みたいとき。
■何も指定しない場合
■baseパラメータを指定した場合
base="."のパラメータでムービー内で指定されているパスがムービーファイルが収められているディレクトリへの相対パスとなるそうです。
object タグ
Flash テクニカルノート - パラメータオプション
http://www.adobe.com/jp/support/flash/ts/documents/fl0005.html#Base
HTML と swf の階層が違うからムービープレビューのときに外部ファイルを読み込めない!という問題を解消できそうな base パラメータ。
HTML で Flash を表示する際、外部ファイルへのパスを HTML 基準で書かないとダメだから、ムービープレビューのときに外部ファイルを読み込めない(HTML と swf の階層が違う場合)ということがあったけど、HTMLで <object>タグ、<embed>タグに base パラメータを設定すれば Flash の中でディレクトリを気にせず外部ファイルを読み込めるかも。

index.html に「swf ディレクトリ内」の main.swf を表示し、その main.swf へ同じディレクトリにある sub.swf を loadMovieNum で読み込みたいとき。
■何も指定しない場合
// main.swf のスクリプト
loadMovieNum("swf/sub.swf",1);
HTMLを基準としているため、ムービープレビューでは同じ階層の sub.swf を読み込めない。■baseパラメータを指定した場合
// main.swf のスクリプト
loadMovieNum("sub.swf",1);
HTMLでもムービープレビューでも sub.swf を読み込める。base="."のパラメータでムービー内で指定されているパスがムービーファイルが収められているディレクトリへの相対パスとなるそうです。
object タグ
<param name="base" value="." />embed タグ
<embed src="swf/main.swf" base="." .... />
Flash テクニカルノート - パラメータオプション
http://www.adobe.com/jp/support/flash/ts/documents/fl0005.html#Base
Comments
とても重宝しちゃいます!!
今度使わさせて頂きます。
他にも最近まで全然知らなかった機能がパンくずリスト(?)の移動。(from 二匹狼の遠吠えさん)
http://wwolf.sakura.ne.jp/b...
ぜひ使わせていただきますね。
自作のFlash時計がブログ(EUC-JP)ではうまく表示されず、HTMLとswfが離れている場合はどうしたらいいんだろう…と情報を探し回っていたら、こちらにたどり着きました。
こちらの記事の通りにHTMLを直して、
System.useCodepage = true;
を加えたら上手く行きました!(これがないとIEは文字化けするんですね;)
どうもありがとうございました(-人-)
上手くいったと思ったのですが…リロードしたらまた真っ白になってしまいました(;;)
System.useCodepage = true;は関係ないのかな…
またいろいろ試してみます。
試してみましたが、HTMLとswfのあるドメインが違っているとき、読み込む側のswfがキャッシュに残っていると表示されなくなりますね。
何でだろ?カスタムポリシーファイルも関係なさそうですし...。
JavaScriptを使って毎回サーバーからswfを読み込むようにすれば解決でそうですが、そのためだけにJavaScriptを使うっていうのもなんかイヤですね。何かわかったらまたお知らせします。
と
<embed src="swf/main.swf" base="." .... />
の最後にあるスラッシュおよびピリオドは一体何の意味があるのですか?
調べたのですがわかりません。どうか教えてください。
<embed>の最後の....は他のパラメーター(widthやheightなど)をダラダラ書いても説明がわかりにくくなるだけなので「省略」のつもりで書きました。混乱させてスミマセン。
コメントを書く
※ スパム対策のためコメント内の URL は全角で書いてください。あとで半角に変換します。