关于Actionscript 3中给Flash传参数方法(一)
??? 關于Actionscript 3中給Flash傳參數方法(一)
今天在測試一個為Audi做Flash AD的時候,發現Audi提供的clicktag是Actionscript 2的代碼,在Actionscript 3中是不被支持的,所以有去翻了Adobe Docs了。
在2.0中的clicktag代碼如下:
?On(Release) = { getURL(_root.clicktag, "_blank"); }
在3.0中是不支持_root的,并且事件函數也不是這樣寫的。自己做了個測試swf,簡單代碼如下:
// // test.as // // Written by Leezhm, 26th February, 2009 // Contact : Leezhm@126.com // Last Modified by Leezhm on 26th Feb, 2009 // package { import flash.display.Sprite; import flash.display.SimpleButton; import flash.events.Event; import flash.events.MouseEvent; import flash.text.TextField; import flash.net.URLRequest; import flash.net.navigateToURL; public class test extends Sprite { public function test():void { this.addEventListener(Event.ENTER_FRAME, OnEnterFrame); this.btnLink.addEventListener(MouseEvent.CLICK, OnBtnClick); } private function OnEnterFrame(evt:Event):void { if("" != root.loaderInfo.parameters.clicktag) { this.txt.text = root.loaderInfo.parameters.clicktag; } } private function OnBtnClick(evt:MouseEvent):void { var _request:URLRequest = new URLRequest(root.loaderInfo.parameters.clicktag); navigateToURL(_request, "_blank"); } } }
?
很明顯,_root.clicktag在Actionscript 3中是用root.loaderInfo.parameters.clicktag來代替,關于loaderInfo.parameters可以參考flash.display.loaderInfo類的parameters屬性。而且也用flash.net包中的頂級函數navigateToURL代替了getURL,但是要傳入一個URLRequest的參數。注意:由于flash player安全性的問題這樣彈出的窗口可能被阻止。具體可見Adobe Docs的如下截圖:
?
最后傳上測試效果截圖(在公司的主站上測試,由于安全性問題,對圖片中顯示的URL和公司Logo進行了處理)
?
我們在swf后輸入了?clicktag=http://www.google.com。其中?是給flash傳參數的標識符,一定不能丟。clicktag是參數名,后面google的網站就是傳進去的參數。點擊下面紅色的button會鏈接到google的主站。
?
?
好了,其實在網頁中傳遞參數的方法很多,大家可以自己去百度,也可以看看google的clicktag。
?
BTW:給大家一個clicktag的測試網站,俺Manager發給我的,很好,可以先測試。
????????? http://www.bannerflow.com/clicktest/
轉載于:https://www.cnblogs.com/leezhm/archive/2009/02/26/2560332.html
總結
以上是生活随笔為你收集整理的关于Actionscript 3中给Flash传参数方法(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 操作 iframe
- 下一篇: (转)一段挺好的领导者应该记得的话