學(xué)習(xí)筆記 如何實(shí)現(xiàn)Flex與瀏覽器交互
本文和大家重點(diǎn)討論一下Flex與瀏覽器交互問題,在用Flex做Web應(yīng)用時(shí)為了擴(kuò)展應(yīng)用程序功能,勢(shì)必會(huì)更多的同瀏覽器進(jìn)行交互,這樣就會(huì)用到下面介紹的知識(shí)。
總結(jié)Flex與瀏覽器交互
在用Flex做Web應(yīng)用時(shí)為了擴(kuò)展應(yīng)用程序功能,勢(shì)必會(huì)更多的同瀏覽器進(jìn)行交互,這樣就會(huì)用到下面介紹的知識(shí)。
1、在Flex中實(shí)現(xiàn)URL跳轉(zhuǎn)(使用flash.net.navigateToURL()方法如:)
- /*
- *param1:要跳轉(zhuǎn)的URL
- *param2:跳轉(zhuǎn)方式_blank/_self
- */
- navigateToURL(newURLRequest("http://blog.csdn.net/xingjunli"),"_blank");
2、Flex與瀏覽器交互使用FlashVars傳替換參數(shù)(使用Application.application.parameters屬性)
頁(yè)面嵌入SWF文件代碼(我們可以通過(guò)JS動(dòng)態(tài)來(lái)設(shè)置FlashVars信息已達(dá)到數(shù)據(jù)交互的目的)
- <objectclassidobjectclassid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"width="100%"height="100%"id="mySwf">
- <paramnameparamname="movie"value="main.swf"/>
- <paramnameparamname="quality"value="high"/>
- <paramnameparamname="bgcolor"value="#869ca7"/>
- <paramnameparamname="allowScriptAccess"value="sameDomain"/>
- <paramnameparamname="FlashVars"value="UserName=Andy_liu&Age=18
- &Address=HongKong"/>
- </object>
Flex中獲取參數(shù)代碼:
- privatefunctiononFlashVars(e:MouseEvent):void//獲取頁(yè)面參數(shù)
- {
- varparameters:Object=Application.application.parameters;
- labURL.text=Application.application.url.toString();//http://localhost:8889/main.swf
- varparam1:String=parameters.UserName;//Andy_liu
- varparam2:int=parseInt(parameters.Age);//18
- varparam3:String=parameters.Address;//HongKong
- /*
- txtParam1.text=param1;
- txtParam2.text=String(param2);
- txtParam3.text=param3;
- */
- }
3、Flex與瀏覽器交互時(shí)在Flex中調(diào)用JavaScript函數(shù)
先在頁(yè)面中完成jsfunction(注在Flex中只能調(diào)用當(dāng)前頁(yè)面引入的JS函數(shù))
- functionShowUserInfo(name,age,address)
- {
- alert("Name:"+name+"\n"+"Age:"+age+"\n"+"Address"+address);
- return"CallSuccessful!"
- }
Flex中調(diào)用方法并獲取JSfunction返回值(使用ExternalInterface.call()方法):
- privatefunctiononCallJS(e:MouseEvent):void
- {
- /*
- *param1:當(dāng)前頁(yè)JSfunction方法名
- *param...傳遞的參數(shù)0-N個(gè)
- */
- varresultValue:String=ExternalInterface.call("ShowUserInfo",txtParam1.text,txtParam2.text,txtParam3.text);
- //resultValue=CallSuccessful!
- }
【編輯推薦】
- 使用FlexSDK4時(shí)三大注意事項(xiàng)
- FlexBuilder4十大新特性閃亮登場(chǎng)
- 三大方法實(shí)現(xiàn)Flex全屏
- 揭開Flex正則表達(dá)式的神秘面紗
- 技術(shù)分享 在Flex中嵌入Flex字體的步驟