方法一:在网页中使用js,SetVariable设置flashobject中的变量,代码如:
'X{:A^3|xW0// "HtmlToSwf"为网页中的flashobject ID
中国经济网 经济博客
N-}-H!~ I6v*DOw7THtmlToSwf.SetVariable("_root.info_str","Happy Newyear");
中国经济网 经济博客*W0J Y p/c\O
d方法二:路径参数,如test.swf?foo=happy2005
中国经济网 经济博客hr/U\b+G方法三:使用FlashVars,以下主要介绍FlashVars的用法。使用FlashVars后嵌入HTML的flashobject代码如下:
中国经济网 经济博客UOj,R2W3MYi Ty:B<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="FlashVars" align="middle">
&AJ.zQ {4i {F0<param name="allowScriptAccess" value="sameDomain" />
中国经济网 经济博客ZNoZ&hC b2UK<param name="movie" value="FlashVars.swf" />
中国经济网 经济博客gv ])PdQ)u.RS<param name="FlashVars" value="foo=happy2005&program=flash&language=简体中文-中国" />
,o0WRg(|
{j0<param name="quality" value="high" />
中国经济网 经济博客M)cWl1mD9Q#I mf{<param name="bgcolor" value="#ffffff" />
(}bwIa_INc*[0<embed src="FlashVars.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="FlashVars" align="middle" allowScriptAccess="sameDomain" FlashVars="foo=happy2005&program=flash&language=简体中文-中国" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
1mvYXsZGh8P0中国经济网 经济博客%P1w)|I]m通过上面的代码,在SWF(FlashVars.swf)中就可以直接获取foo、program、language变量数据。FlashVars.fla获取FlashVars参数的代码如下:
/P8`4jU jqq0// 创建三个文本字段
中国经济网 经济博客G^o7k(ID3J_root.createTextField("foo_txt",1,0,0,16,16);
/@:m+\,w-Y^|z&N0_root.createTextField("program_txt",2,0,32,16,16);
H(]x
WwX
j0u0_root.createTextField("language_txt",3,0,64,16,16);
中国经济网 经济博客 \K1t3hu7b?l@bXFO2gfoo_txt.autoSize = true;
中国经济网 经济博客od"C
z ag[7Udofoo_txt.border = true;
eeh$c6j
M9dNE0program_txt.autoSize = true;
中国经济网 经济博客wm.YRA#q*NOprogram_txt.border = true;
中国经济网 经济博客m/|5~]9a4N:dlanguage_txt.autoSize = true;
P|GyY,wzN0language_txt.border = true;
n:E8W
b$EmN0// 获取FlashVars变量
中国经济网 经济博客+`S9?@_.BU3afoo_txt.text = "HTML中的foo参数:"+foo;
中国经济网 经济博客 or[d.P~S"wprogram_txt.text = "HTML中的program参数:"+program;
中国经济网 经济博客/d/~e#q*d-Ke4S,v|ulanguage_txt.text = "HTML中的language参数:"+language;
中国经济网 经济博客'L8ccv6B5C"_0[_4Z
hS5B.z"f2_'[0三、两者的有效结合。
中国经济网 经济博客 LOZ3Y'B[D在HTML网页中使用js获取参数,然后将获取的参数作为FlashVars写入flashobject传递给swf。代码如下:
yc,\
K;c0z
i0<script. language=javascript>
'{#|q%Z6Nat0<!--
8sEHZ P?0function writeflashobject(parastr) {
,@6Eks"jy0document.write("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"550\" height=\"400\" id=\"FlashVars\" align=\"middle\"\>\n");
~Ns
eHG%byg0document.write("<param name=\"allowScriptAccess\" value=\"sameDomain\" /\>\n");
r'J6p
vx4h4UTnE0document.write("<param name=\"movie\" value=\"FlashVars.swf\" /\>\n");
中国经济网 经济博客N-vp9~3jDH2o+gdocument.write("<param name=\"FlashVars\" value=\""+ parastr +"\" /\>\n");
w
`wVeVO0document.write("<param name=\"quality\" value=\"high\" /\>\n");
中国经济网 经济博客p@"gaf+e Id,jdocument.write("<param name=\"bgcolor\" value=\"#ffffff\" /\>\n");
?c#vhGmWG^"Nm0document.write("<embed src=\"FlashVars.swf\" quality=\"high\" bgcolor=\"#ffffff\" width=\"550\" height=\"400\" name=\"FlashVars\" align=\"middle\" allowScriptAccess=\"sameDomain\" FlashVars=\""+ parastr +"\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /\>");
中国经济网 经济博客Ojbi M,O5WXKvV,{document.write("</object\>");
中国经济网 经济博客:a_3M;c"sm@}
中国经济网 经济博客)b7[acJfunction getparastr() {
中国经济网 经济博客7?[9p
Y0WJvar hrefstr,pos,parastr,para,tempstr1;
中国经济网 经济博客*W0R$TU,wk&mOf8k?hrefstr = window.location.href;
ucv:R2NkCk0pos = hrefstr.indexOf("?")
VHz'M]0parastr = hrefstr.substring(pos+1);
中国经济网 经济博客/Y}0x0I}4_mA2lreturn parastr;
-|$_2ky
?n0}
中国经济网 经济博客m!f1n} avar parastr = getparastr();
中国经济网 经济博客"ML.F|[jwriteflashobject(parastr);
:P]-}M M"\0F0//-->
&Hi7rr2sin`
F@'f%@0</script>