2010.02.24
SWF内に記述するパスは、デフォルトの状態だと
そのSWFを貼りつけるHTMLからのパスにしなければなりません。
始めた頃はこれに相当悩まされました。。
もうすっかり慣れてしまったのですが、
SWFからの相対パスにするのは
とても簡単だということを今更知りました^^;
方法は、SWFを読み込むためのソースにパラメータを追加するだけです。
たとえば以下のようなソースの場合、
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="300" height="200">
<param name="movie" value="main.swf">
<param name="quality" value="best">
<param name="wmode" value="opaque" />
<embed src="main.swf" quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="200"></embed>
</object>
↓のようにbaseパラメータを追加するだけです。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="300" height="200">
<param name="movie" value="main.swf">
<param name="base" value="." />
<param name="quality" value="best">
<param name="wmode" value="opaque" />
<embed src="main.swf" base="." quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="200"></embed>
</object>
上記とは別に、SWFObjectを使っている場合は以下のパラメータを追加します。
<script type="text/javascript">
var so = new SWFObject("test.swf", "test", "500", "350", "8", "#ffffff");
so.addParam("base", ".");
</script>
これでSWF内のパスは、自分からの相対で見るようになります。
もっと早く知っていれば・・笑
そのSWFを貼りつけるHTMLからのパスにしなければなりません。
始めた頃はこれに相当悩まされました。。
もうすっかり慣れてしまったのですが、
SWFからの相対パスにするのは
とても簡単だということを今更知りました^^;
方法は、SWFを読み込むためのソースにパラメータを追加するだけです。
たとえば以下のようなソースの場合、
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="300" height="200">
<param name="movie" value="main.swf">
<param name="quality" value="best">
<param name="wmode" value="opaque" />
<embed src="main.swf" quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="200"></embed>
</object>
↓のようにbaseパラメータを追加するだけです。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="300" height="200">
<param name="movie" value="main.swf">
<param name="base" value="." />
<param name="quality" value="best">
<param name="wmode" value="opaque" />
<embed src="main.swf" base="." quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="200"></embed>
</object>
上記とは別に、SWFObjectを使っている場合は以下のパラメータを追加します。
<script type="text/javascript">
var so = new SWFObject("test.swf", "test", "500", "350", "8", "#ffffff");
so.addParam("base", ".");
</script>
これでSWF内のパスは、自分からの相対で見るようになります。
もっと早く知っていれば・・笑
コメントする