比如网页里插入的Flash代码是这样的:
-
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="Test" align="middle">
-
<param name="allowScriptAccess" value="sameDomain" />
-
<param name="movie" value="Test.swf" />
-
<param name="quality" value="high" />
-
<param name="bgcolor" value="#ffffff" />
-
<embed src="Test.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="Test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
-
</object>
也有的Flash代码会是这样的:
-
<object id="Test" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="518">
-
<param name="movie" value="/images/index.swf" />
-
<param name="quality" value="high" />
-
<param name="wmode" value="transparent" />
-
<param name="swfversion" value="15.0.0.0" />
-
<!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
-
<!--[if !IE]>-->
-
<object type="application/x-shockwave-flash" data="/images/index.swf" width="1000" height="518">
-
<!--<![endif]-->
-
<param name="quality" value="high" />
-
<param name="wmode" value="transparent" />
-
<param name="swfversion" value="15.0.0.0" />
-
<!--[if !IE]>-->
-
</object>
-
<!--<![endif]-->
-
</object>
★★★★★★网页向Flash里传参数★★★★★★
现在需要传两个参数myVar1=xxxxx和myVar2=yyyyy给Flash,可以用以下几种方法:
方法一:
<param name="movie" value="Test.swf" />
替换成以下代码:
<param name="movie" value="Test.swf?myVar1=xxxxx&myVar2=yyyyy" />
方法二:
增加以下一行代码:
<param name="FlashVars" value="myVar1=xxxxx&myVar2=yyyyy" />
注意如果如果Flash代码是前面讲的第二种,需要在两个<object>标签里都要加以上代码,否则非IE浏览器会失效。
而在Flash文件里面,这样获取:
-
var myPara1:String=stage.loaderInfo.parameters.myVar1;
-
var myPara2:String=stage.loaderInfo.parameters.myVar2;
-
my_txt.text = "网页中的myVar1参数:"+myPara1;
-
var vname:String = myPara2;
★★★★★★JS向Flash里传参数★★★★★★
-
ObjectID.SetVariable(参数名,参数值);
-
1.在OBJECT标签中,插入id="Test"
-
2.在EMBED标签中,插入name="Test"和swLiveConnect="true",确保没有使用id属性;
-
本例的ObjectID已经设为Test,具体做法如下:在</object>标记的后面(也就是加载FLASH影片之后)直接加入以下代码:
-
<script language=javascript>
-
Test.SetVariable("myVar1","xxxxx");
-
Test.SetVariable("myVar2","yyyyy");
-
</script>
Flash里获取方法同上段。
★★★★★★Flash向网页传参数(到URL)★★★★★★
-
search_btn.addEventListener("click",goSearch);
-
function goSearch(me:MouseEvent){
-
var url:String = "http://search.yahoo.com/search";
-
var my_req:URLRequest = new URLRequest(url);
-
var variables:URLVariables = new URLVariables();
-
variables.decode("p=" + search_txt.text);
-
//上面那句也可以写成 variables.p = search_txt.text;
-
my_req.data = variables;
-
my_req.method = URLRequestMethod.POST;
-
navigateToURL(my_req);
-
}
★★★★★★Flash向网页传参数(到页面控件)★★★★★★