flash使用FlashVars接收html参数

上一篇 / 下一篇  2007-07-18 13:28:56 / 个人分类:技术交流

方法一:在网页中使用js,SetVariable设置flashobject中的变量,代码如:中国经济网 经济博客+skE4zp
// "HtmlToSwf"为网页中的flashobject ID
m x}t&aBT ir0HtmlToSwf.SetVariable("_root.info_str","Happy Newyear");中国经济网 经济博客0@Q RI[b:p
方法二:路径参数,如test.swf?foo=happy2005
,l Lm6k)f_0方法三:使用FlashVars,以下主要介绍FlashVars的用法。使用FlashVars后嵌入HTML的flashobject代码如下:
3\K,g?1?,P6r0<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">
%F }D^a5g6Wh0<param name="allowScriptAccess" value="sameDomain" />
1q z iA;|a*B7CH7]P/P0<param name="movie" value="FlashVars.swf" />
)r0J!\"O&km0<param name="FlashVars" value="foo=happy2005&program=flash&language=简体中文-中国" />中国经济网 经济博客[ ~RN.L'YW.dH
<param name="quality" value="high" />
;o.pL4p*v0<param name="bgcolor" value="#ffffff" />中国经济网 经济博客@)?#i$Xe
<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" />
:ur@0sG([0
n[0k|IO0通过上面的代码,在SWF(FlashVars.swf)中就可以直接获取foo、program、language变量数据。FlashVars.fla获取FlashVars参数的代码如下:
O+r1rU(TZ#S0// 创建三个文本字段中国经济网 经济博客u"dc `7Y'H#O
_root.createTextField("foo_txt",1,0,0,16,16);
v4s}%?l e0_root.createTextField("program_txt",2,0,32,16,16);中国经济网 经济博客 wl0` l9t/}
_root.createTextField("language_txt",3,0,64,16,16);
c$D#q/_ oB }0foo_txt.autoSize = true;
f pR)ET2PI&M2t0foo_txt.border = true;中国经济网 经济博客1Y{:B&M0g ii ~|7T Y
program_txt.autoSize = true;中国经济网 经济博客Y;UL^ @
program_txt.border = true;
/`p6E3Wy/I0language_txt.autoSize = true;
8uR7{x g U w0language_txt.border = true;中国经济网 经济博客m8Rw;R?%M
// 获取FlashVars变量中国经济网 经济博客%OAb,|'FH,xJ-k
foo_txt.text = "HTML中的foo参数:"+foo;中国经济网 经济博客d y|!e._wL
program_txt.text = "HTML中的program参数:"+program;
GW$u|%},^| NV0language_txt.text = "HTML中的language参数:"+language;中国经济网 经济博客~$w:KF|'C
中国经济网 经济博客V&B1i%W [fYx
三、两者的有效结合。
/h9W4sNa l Gd.Q0在HTML网页中使用js获取参数,然后将获取的参数作为FlashVars写入flashobject传递给swf。代码如下:中国经济网 经济博客kkv,aN0K
<script. language=javascript>中国经济网 经济博客VWjs}#cM v
<!--
s$VCV9L0function writeflashobject(parastr) {
'J"U}p*p&T!F0document.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");
CfTi o}s.C0document.write("<param name=\"allowScriptAccess\" value=\"sameDomain\" /\>\n");
%\ b]? ze(|0document.write("<param name=\"movie\" value=\"FlashVars.swf\" /\>\n");
FqN0kigy*E$p&b*W0document.write("<param name=\"FlashVars\" value=\""+ parastr +"\" /\>\n");
q7|Ih0y0document.write("<param name=\"quality\" value=\"high\" /\>\n");
Y2o1z;n(s-r0document.write("<param name=\"bgcolor\" value=\"#ffffff\" /\>\n");中国经济网 经济博客]'pl*E2?*| wH2H]
document.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\" /\>");
1CST Yb/EW0document.write("</object\>");中国经济网 经济博客1Y`pD8Ig!y{
}中国经济网 经济博客,fC$u3N9@$n$pF
function getparastr() {中国经济网 经济博客6M`!{P [6?
var hrefstr,pos,parastr,para,tempstr1;中国经济网 经济博客3yEA~ mjl!Rm
hrefstr = window.location.href;
4zv3S.~%z0pos = hrefstr.indexOf("?")中国经济网 经济博客Y ~[(FS:q3_q9z`X
parastr = hrefstr.substring(pos+1);
2FF:Sm;Tyqj0return parastr;中国经济网 经济博客 WY5s:wri l,L
}
p!d2{ZN]9{0var parastr = getparastr();中国经济网 经济博客LB W,Px}5y o-Z
writeflashobject(parastr);中国经济网 经济博客.cQ3_0C2XN2L3D
//-->
f%{%x!r^0</script>

TAG:

引用 删除 Guest   /   2009-08-12 10:27:00
-5
引用 删除 Guest   /   2009-06-23 09:54:57
-5
引用 删除 Guest   /   2009-05-21 15:27:14
-5
引用 删除 Guest   /   2009-05-06 09:57:39
-5
引用 删除 ''   /   2008-11-06 15:54:26
引用 删除 Guest   /   2008-11-06 15:54:04
-5
引用 删除 Guest   /   2008-07-10 11:59:24
1
引用 删除 Guest   /   2008-06-12 21:44:49
-5
引用 删除 Guest   /   2008-06-10 21:34:15
5
引用 删除 Guest   /   2007-12-27 15:25:27
5
引用 删除 Guest   /   2007-09-03 10:13:09
引用 删除 Guest   /   2007-09-03 10:05:47
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar