學習筆記 如何實現Flex與瀏覽器交互
本文和大家重點討論一下Flex與瀏覽器交互問題,在用Flex做Web應用時為了擴展應用程序功能,勢必會更多的同瀏覽器進行交互,這樣就會用到下面介紹的知識。
總結Flex與瀏覽器交互
在用Flex做Web應用時為了擴展應用程序功能,勢必會更多的同瀏覽器進行交互,這樣就會用到下面介紹的知識。
1、在Flex中實現URL跳轉(使用flash.net.navigateToURL()方法如:)
- /*
- *param1:要跳轉的URL
- *param2:跳轉方式_blank/_self
- */
- navigateToURL(newURLRequest("http://blog.csdn.net/xingjunli"),"_blank");
2、Flex與瀏覽器交互使用FlashVars傳替換參數(使用Application.application.parameters屬性)
頁面嵌入SWF文件代碼(我們可以通過JS動態來設置FlashVars信息已達到數據交互的目的)
- <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中獲取參數代碼:
- privatefunctiononFlashVars(e:MouseEvent):void//獲取頁面參數
- {
- 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與瀏覽器交互時在Flex中調用JavaScript函數
先在頁面中完成jsfunction(注在Flex中只能調用當前頁面引入的JS函數)
- functionShowUserInfo(name,age,address)
- {
- alert("Name:"+name+"\n"+"Age:"+age+"\n"+"Address"+address);
- return"CallSuccessful!"
- }
Flex中調用方法并獲取JSfunction返回值(使用ExternalInterface.call()方法):
- privatefunctiononCallJS(e:MouseEvent):void
- {
- /*
- *param1:當前頁JSfunction方法名
- *param...傳遞的參數0-N個
- */
- varresultValue:String=ExternalInterface.call("ShowUserInfo",txtParam1.text,txtParam2.text,txtParam3.text);
- //resultValue=CallSuccessful!
- }
【編輯推薦】