How to access Actionscript from Javascript in Adobe AIR
Posted
by David Robinson
on Stack Overflow
See other posts from Stack Overflow
or by David Robinson
Published on 2009-04-16T02:38:58Z
Indexed on
2010/03/19
7:01 UTC
Read the original article
Hit count: 622
I have an AIR application written in html/javascript and I want to use the Actionscript print functions but I have no experience in Actionscript for AIR.
Where do I put the Actionscript code ? Does it go into an mxml file or does it need to be compiled into a Flash application. Where do I put it and how do I include it into the html document ? Finally, how do I call the AS function from Javascript ?
=====update=====
I know I have to compile either an .mxml or .as file into .swf using mxmlc and I have the following in my .as file:
package {
import mx.controls.Alert;
public class HelloWorld {
public function HelloWorld():void {
trace("Hello, world!");
}
}
}
Or alternately, this in a .mxml file:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function HelloWorld():void {
Alert.show("hello world!");
trace("Hello, world!");
}
]]>
</mx:Script>
</mx:Application>
This compiles OK, but when I include it in a html file with:
<script src="actionscript.swf" type="application/x-shockwave-flash"></script>
I get the following error:
TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.managers::FocusManager/activate() at mx.managers::SystemManager/activateForm() at mx.managers::SystemManager/activate() at mx.core::Application/initManagers() at mx.core::Application/initialize() at actionscript/initialize() at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::childAdded() at mx.managers::SystemManager/initializeTopLevelWindow() at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::docFrameHandler() at mx.managers::SystemManager/docFrameListener()
Any ideas what that means ?
© Stack Overflow or respective owner