比如網頁裡插入的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向網頁傳參數(到頁面控件)★★★★★★