flashvars として xml ファイルを含むフラッシュ ファイルがあります。このコードを使用すると、すべてのブラウザーで機能しますが、IE 7 以降では機能しません。
OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="530" HEIGHT="410" id="usa_locator" ALIGN="">
PARAM NAME=movie VALUE="app_themes/theme1/usa_locator_demo.swf">
PARAM NAME=FlashVars VALUE="app_themes/theme1/usa_locator.xml">
PARAM NAME=quality VALUE=high>
param name="wmode" value="transparent">
PARAM NAME=bgcolor VALUE=#F5F5F5>
EMBED src="app_themes/theme1/usa_locator_demo.swf?xmlfile1=app_themes/theme1/usa_locator.xml" quality=high wmode="transparent" bgcolor=#F5F5F5 WIDTH="530" HEIGHT="410" NAME="usa_locator" ALIGN=""
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
EMBED>
/OBJECT>
多くのことを読んだ後、SWFObject は良い選択肢のようです。あなたがする必要があるのはすべてです:
1- ヘッダーに swfobject.js を含めます 2- 含めるフラッシュ オブジェクト用に空の div を作成します
<div id="myContent">
<p>Alternative content</p>
</div>
3- JavaScript を使用してフラッシュを div に埋め込みます。
<script type="text/javascript">
swfobject.embedSWF("app_themes/theme1/usa_locator_demo.swf", "myContent", "530", "410", "6", false, **flashvars**);
</script>
唯一の問題は、xml ファイルの URL を介して flashvars を渡す方法がわからないことです。SWFObject はこれをサポートしていないようです。代わりに、次のように flashvars のリストを作成する必要があります。
var flashvars = {
name1: "hello",
name2: "world",
name3: "foobar"
};
変数をjavascriptに渡します。私が持っている xml ファイルは非常に大きく、多くの変数が含まれています。これを行う方法がわかりません。助けてください。
私のXMLファイルは次のようなものです:
usa_map_locator>
config>
color_state_name>0xffffff</color_state_name>
color_state_name_over>0xffffff</color_state_name_over>
type_of_gradient>1</type_of_gradient>
background_color>0xffffff</background_color>
show_links>0</show_links>
light_effect>1</light_effect>
border_color>0xffffff</border_color>
sound>on</sound>
/config>
map_data>
state>
id>1</id>
name>Washington</name>
link>#</link>
comment>Address:
Phone:
E-mail:
/comment>
color_map>0x7798BA</color_map>
color_map_over>0x0054A6</color_map_over>
frame>_top</frame>
image>photo.jpg</image>
/state>
state>
id>2</id>
..... 50州すべて