Loading JavaScript file(s) using HTTPService/URLLoader
20 Jun 2006In my last post, I talked about JavaScript Flex 2 component that can inject Javascript code in HTML wrapper’s context. I experimented to see, if we can load Javascript files (.js) using HTTPService (or flash.net.URLLoader) in Flex2/AS3 projects and inject it.
Example Flex 2.0 code:
import flash.external.ExternalInterface; import mx.events.; import mx.rpc.events.; import mx.rpc.http.HTTPService; import com.abdulqabiz.utils.JavaScript; private var javascript:JavaScript; private var service:HTTPService; private function onAppInit ():void { service = new HTTPService (); service.url = “test.js”; service.useProxy = false; service.resultFormat = “text”; service.addEventListener (“result”, injectJavaScript); service.send (); } private function injectJavaScript (event:ResultEvent):void { javascript = new JavaScript (); javascript.source = String(event.result); trace (“javascript injected: “ + event.result); } private function invokeSayHelloWorld ():void { ExternalInterface.call (“sayHelloWorld”); } private function invokeSaySomething (str:String):void { ExternalInterface.call (“saySomething”, str); }
Test.js used in example:
//test.js var myName = “Abdul Qabiz”; function saySomething (str) { alert (str); } function sayHelloWorld () { alert (“Hello World!”); }
You would need JavaScript.as (with proper package [directory structure]) and test.js (code posted above) in place to make above example to work.
I am thinking to load FABridge using this approach. I know, it’s practically of no use except keeping code and logic at one place.