flash.display

# LoaderInfo - AS3

Package | flash.display
Class | public class LoaderInfo
Inheritance | LoaderInfo EventDispatcher Object

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The LoaderInfo class provides information about a loaded SWF file or a loaded image file (JPEG, GIF, or PNG). LoaderInfo objects are available for any display object. The information provided includes load progress, the URLs of the loader and loaded content, the number of bytes total for the media, and the nominal height and width of the media.

You can access LoaderInfo objects in two ways:

- The `contentLoaderInfo` property of a flash.display.Loader object— The `contentLoaderInfo` property is always available for any Loader object. For a Loader object that has not called the `load()` or `loadBytes()` method, or that has not sufficiently loaded, attempting to access many of the properties of the `contentLoaderInfo` property throws an error.
- The `loaderInfo` property of a display object.

The `contentLoaderInfo` property of a Loader object provides information about the content that the Loader object is loading, whereas the `loaderInfo` property of a DisplayObject provides information about the root SWF file for that display object.

When you use a Loader object to load a display object (such as a SWF file or a bitmap), the `loaderInfo` property of the display object is the same as the `contentLoaderInfo` property of the Loader object (`DisplayObject.loaderInfo = Loader.contentLoaderInfo`). Because the instance of the main class of the SWF file has no Loader object, the `loaderInfo` property is the only way to access the LoaderInfo for the instance of the main class of the SWF file.

The following diagram shows the different uses of the LoaderInfo object—for the instance of the main class of the SWF file, for the `contentLoaderInfo` property of a Loader object, and for the `loaderInfo` property of a loaded object:

When a loading operation is not complete, some properties of the `contentLoaderInfo` property of a Loader object are not available. You can obtain some properties, such as `bytesLoaded`, `bytesTotal`, `url`, `loaderURL`, and `applicationDomain`. When the `loaderInfo` object dispatches the `init` event, you can access all properties of the `loaderInfo` object and the loaded image or SWF file.

Note: All properties of LoaderInfo objects are read-only.

The `EventDispatcher.dispatchEvent()` method is not applicable to LoaderInfo objects. If you call `dispatchEvent()` on a LoaderInfo object, an IllegalOperationError exception is thrown.

View the examples

More examples

Monitoring loading progress

Learn more

Loading display content dynamically

Related API Elements

flash.display.Loader
flash.display.Loader.content
flash.display.DisplayObject
flash.display.DisplayObject.loaderInfo

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | actionScriptVersion : uint [read-only] The ActionScript version of the loaded SWF file. | LoaderInfo
|  | applicationDomain : ApplicationDomain [read-only] When an external SWF file is loaded, all ActionScript 3.0 definitions contained in the loaded class are stored in the applicationDomain property. | LoaderInfo
|  | bytes : ByteArray [read-only] The bytes associated with a LoaderInfo object. | LoaderInfo
|  | bytesLoaded : uint [read-only] The number of bytes that are loaded for the media. | LoaderInfo
|  | bytesTotal : uint [read-only] The number of compressed bytes in the entire media file. | LoaderInfo
|  | childAllowsParent : Boolean [read-only] Expresses the trust relationship from content (child) to the Loader (parent). | LoaderInfo
|  | childSandboxBridge : Object A object that can be set by the loaded content's code to expose properties and methods that can be accessed by code in the Loader object's sandbox. | LoaderInfo
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | content : DisplayObject [read-only] The loaded object associated with this LoaderInfo object. | LoaderInfo
|  | contentType : String [read-only] The MIME type of the loaded file. | LoaderInfo
|  | frameRate : Number [read-only] The nominal frame rate, in frames per second, of the loaded SWF file. | LoaderInfo
|  | height : int [read-only] The nominal height of the loaded file. | LoaderInfo
|  | isURLInaccessible : Boolean [read-only] Indicates if the LoaderInfo.url property has been truncated. | LoaderInfo
|  | loader : Loader [read-only] The Loader object associated with this LoaderInfo object. | LoaderInfo
|  | loaderURL : String [read-only] The URL of the SWF file that initiated the loading of the media described by this LoaderInfo object. | LoaderInfo
|  | parameters : Object [read-only] An object that contains name-value pairs that represent the parameters provided to the loaded SWF file. | LoaderInfo
|  | parentAllowsChild : Boolean [read-only] Expresses the trust relationship from Loader (parent) to the content (child). | LoaderInfo
|  | parentSandboxBridge : Object A object that can be set by code in the Loader object's sandbox to expose properties and methods that can be accessed by the loaded content's code. | LoaderInfo
|  | sameDomain : Boolean [read-only] Expresses the domain relationship between the loader and the content: true if they have the same origin domain; false otherwise. | LoaderInfo
|  | sharedEvents : EventDispatcher [read-only] An EventDispatcher instance that can be used to exchange events across security boundaries. | LoaderInfo
|  | swfVersion : uint [read-only] The file format version of the loaded SWF file. | LoaderInfo
|  | uncaughtErrorEvents : UncaughtErrorEvents [read-only] An object that dispatches an uncaughtError event when an unhandled error occurs in code in this LoaderInfo object's SWF file. | LoaderInfo
|  | url : String [read-only] The URL of the media being loaded. | LoaderInfo
|  | width : int [read-only] The nominal width of the loaded content. | LoaderInfo

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | getLoaderInfoByDefinition(object:Object):LoaderInfo [static] Returns the LoaderInfo object associated with a SWF file defined as an object. | LoaderInfo
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Events
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | complete | Dispatched when data has loaded successfully. | LoaderInfo
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | httpStatus | Dispatched when a network request is made over HTTP and an HTTP status code can be detected. | LoaderInfo
|  | init | Dispatched when the properties and methods of a loaded SWF file are accessible and ready for use. | LoaderInfo
|  | ioError | Dispatched when an input or output error occurs that causes a load operation to fail. | LoaderInfo
|  | open | Dispatched when a load operation starts. | LoaderInfo
|  | progress | Dispatched when data is received as the download operation progresses. | LoaderInfo
|  | unload | Dispatched by a LoaderInfo object whenever a loaded object is removed by using the unload() method of the Loader object, or when a second load is performed by the same Loader object and the original content is removed prior to the load beginning. | LoaderInfo

Property Detail

### actionScriptVersion

property

`actionScriptVersion:uint` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The ActionScript version of the loaded SWF file. The language version is specified by using the enumerations in the ActionScriptVersion class, such as `ActionScriptVersion.ACTIONSCRIPT2` and `ActionScriptVersion.ACTIONSCRIPT3`.

Note: This property always has a value of either `ActionScriptVersion.ACTIONSCRIPT2` or `ActionScriptVersion.ACTIONSCRIPT3`. ActionScript 1.0 and 2.0 are both reported as `ActionScriptVersion.ACTIONSCRIPT2` (version 2.0). This property only distinguishes ActionScript 1.0 and 2.0 from ActionScript 3.0.

Implementation
`public function get actionScriptVersion():uint`
Throws

| `Error` — If the file is not downloaded sufficiently to retrieve the requested information.
| `Error` — If the file is not a SWF file.

Related API Elements

flash.display.ActionScriptVersion

### applicationDomain

property

`applicationDomain:ApplicationDomain` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

When an external SWF file is loaded, all ActionScript 3.0 definitions contained in the loaded class are stored in the `applicationDomain` property.

All code in a SWF file is defined to exist in an application domain. The current application domain is where your main application runs. The system domain contains all application domains, including the current domain and all classes used by Flash Player or Adobe AIR.

All application domains, except the system domain, have an associated parent domain. The parent domain of your main application's `applicationDomain` is the system domain. Loaded classes are defined only when their parent doesn't already define them. You cannot override a loaded class definition with a newer definition.

For usage examples of application domains, see the "Client System Environment" chapter in the ActionScript 3.0 Developer's Guide.

Implementation
`public function get applicationDomain():ApplicationDomain`
Throws

| `SecurityError` — This security sandbox of the caller is not allowed to access this ApplicationDomain.

More examples

Working with application domains
Specifying loading context

Learn more

Loading display content dynamically

Related API Elements

flash.system.ApplicationDomain

### bytes

property

`bytes:ByteArray` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

The bytes associated with a LoaderInfo object.

Implementation
`public function get bytes():ByteArray`
Throws

| `SecurityError` — If the object accessing this API is prevented from accessing the loaded object due to security restrictions. This situation can occur, for instance, when a Loader object attempts to access the `contentLoaderInfo.content` property and it is not granted security permission to access the loaded content.

For more information related to security, see the Flash Player Developer Center Topic: Security.

### bytesLoaded

property

`bytesLoaded:uint` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The number of bytes that are loaded for the media. When this number equals the value of `bytesTotal`, all of the bytes are loaded.

Implementation
`public function get bytesLoaded():uint`

### bytesTotal

property

`bytesTotal:uint` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The number of compressed bytes in the entire media file.

Before the first `progress` event is dispatched by this LoaderInfo object's corresponding Loader object, `bytesTotal` is 0. After the first `progress` event from the Loader object, `bytesTotal` reflects the actual number of bytes to be downloaded.

Note (iOS only): When running an application on iOS, the value returned is not the same as on other platforms.

Implementation
`public function get bytesTotal():uint`

Related API Elements

flash.events.ProgressEvent
flash.display.Loader

### childAllowsParent

property

`childAllowsParent:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Expresses the trust relationship from content (child) to the Loader (parent). If the child has allowed the parent access, `true`; otherwise, `false`. This property is set to `true` if the child object has called the `allowDomain()` method to grant permission to the parent domain or if a URL policy is loaded at the child domain that grants permission to the parent domain. If child and parent are in the same domain, this property is set to `true`.

For more information related to security, see the Flash Player Developer Center Topic: Security.

Implementation
`public function get childAllowsParent():Boolean`
Throws

| `Error` — Thrown if the file is not downloaded sufficiently to retrieve the requested information.

### childSandboxBridge

property

`childSandboxBridge:Object`

Runtime Versions: | AIR 1.0, Flash Player 11.4, Flash Lite 4

A object that can be set by the loaded content's code to expose properties and methods that can be accessed by code in the Loader object's sandbox. This sandbox bridge lets content from a non-application domain have controlled access to scripts in the application sandbox, and vice versa. The sandbox bridge serves as a gateway between the sandboxes, providing explicit interaction between application and non-application security sandboxes.

Implementation
`public function get childSandboxBridge():Object`
`public function set childSandboxBridge(value:Object):void`
Throws

| `SecurityError` — Only content in the loaded content's sandbox can set this property.

Related API Elements

parentSandboxBridge

### content

property

`content:DisplayObject` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The loaded object associated with this LoaderInfo object.

Implementation
`public function get content():DisplayObject`
Throws

| `SecurityError` — If the object accessing this API is prevented from accessing the loaded object due to security restrictions. This situation can occur, for instance, when a Loader object attempts to access the `contentLoaderInfo.content` property and it is not granted security permission to access the loaded content.

For more information related to security, see the Flash Player Developer Center Topic: Security.

### contentType

property

`contentType:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The MIME type of the loaded file. The value is `null` if not enough of the file has loaded in order to determine the type. The following list gives the possible values:

- `"application/x-shockwave-flash"`
- `"image/jpeg"`
- `"image/gif"`
- `"image/png"`

Implementation
`public function get contentType():String`

### frameRate

property

`frameRate:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The nominal frame rate, in frames per second, of the loaded SWF file. This number is often an integer, but need not be.

This value may differ from the actual frame rate in use. Flash Player or Adobe AIR only uses a single frame rate for all loaded SWF files at any one time, and this frame rate is determined by the nominal frame rate of the main SWF file. Also, the main frame rate may not be able to be achieved, depending on hardware, sound synchronization, and other factors.

Implementation
`public function get frameRate():Number`
Throws

| `Error` — If the file is not downloaded sufficiently to retrieve the requested information.
| `Error` — If the file is not a SWF file.

### height

property

`height:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The nominal height of the loaded file. This value might differ from the actual height at which the content is displayed, since the loaded content or its parent display objects might be scaled.

Implementation
`public function get height():int`
Throws

| `Error` — If the file is not downloaded sufficiently to retrieve the requested information.

### isURLInaccessible

property

`isURLInaccessible:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

Indicates if the `LoaderInfo.url` property has been truncated. When the `isURLInaccessible` value is `true` the `LoaderInfo.url` value is only the domain of the final URL from which the content loaded. For example, the property is truncated if the content is loaded from `http://www.adobe.com/assets/hello.swf`, and the `LoaderInfo.url` property has the value `http://www.adobe.com`. The `isURLInaccessible` value is `true` only when all of the following are also true:

- An HTTP redirect occurred while loading the content.
- The SWF file calling `Loader.load()` is from a different domain than the content's final URL.
- The SWF file calling `Loader.load()` does not have permission to access the content. Permission is granted to access the content the same way permission is granted for `BitmapData.draw()`: call `Security.allowDomain()` to access a SWF file (or for non-SWF file content, establish a policy file and use the `LoaderContext.checkPolicyFile` property).

Note: The `isURLInaccessible` property was added for Flash Player 10.1 and AIR 2.0. However, this property is made available to SWF files of all versions when the Flash runtime supports it. So, using some authoring tools in "strict mode" causes a compilation error. To work around the error use the indirect syntax `myLoaderInfo["isURLInaccessible"]`, or disable strict mode. If you are using Flash Professional CS5 or Flex SDK 4.1, you can use and compile this API for runtimes released before Flash Player 10.1 and AIR 2.

For application content in AIR, the value of this property is always `false`.

Implementation
`public function get isURLInaccessible():Boolean`

Related API Elements

url
BitmapData.draw()
flash.system.Security.allowDomain()
flash.system.LoaderContext.checkPolicyFile

### loader

property

`loader:Loader` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The Loader object associated with this LoaderInfo object. If this LoaderInfo object is the `loaderInfo` property of the instance of the main class of the SWF file, no Loader object is associated.

Implementation
`public function get loader():Loader`
Throws

| `SecurityError` — If the object accessing this API is prevented from accessing the Loader object because of security restrictions. This can occur, for instance, when a loaded SWF file attempts to access its `loaderInfo.loader` property and it is not granted security permission to access the loading SWF file.

For more information related to security, see the Flash Player Developer Center Topic: Security.

### loaderURL

property

`loaderURL:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The URL of the SWF file that initiated the loading of the media described by this LoaderInfo object. For the instance of the main class of the SWF file, this URL is the same as the SWF file's own URL.

Implementation
`public function get loaderURL():String`

### parameters

property

`parameters:Object` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

An object that contains name-value pairs that represent the parameters provided to the loaded SWF file.

You can use a `for-in` loop to extract all the names and values from the `parameters` object.

The two sources of parameters are: the query string in the URL of the main SWF file, and the value of the `FlashVars` HTML parameter (this affects only the main SWF file).

The `parameters` property replaces the ActionScript 1.0 and 2.0 technique of providing SWF file parameters as properties of the main timeline.

The value of the `parameters` property is null for Loader objects that contain SWF files that use ActionScript 1.0 or 2.0. It is only non-null for Loader objects that contain SWF files that use ActionScript 3.0.

Implementation
`public function get parameters():Object`

### parentAllowsChild

property

`parentAllowsChild:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Expresses the trust relationship from Loader (parent) to the content (child). If the parent has allowed the child access, `true`; otherwise, `false`. This property is set to `true` if the parent object called the `allowDomain()` method to grant permission to the child domain or if a URL policy file is loaded at the parent domain granting permission to the child domain. If child and parent are in the same domain, this property is set to `true`.

For more information related to security, see the Flash Player Developer Center Topic: Security.

Implementation
`public function get parentAllowsChild():Boolean`
Throws

| `Error` — Thrown if the file is not downloaded sufficiently to retrieve the requested information.

### parentSandboxBridge

property

`parentSandboxBridge:Object`

Runtime Versions: | AIR 1.0, Flash Player 11.4, Flash Lite 4

A object that can be set by code in the Loader object's sandbox to expose properties and methods that can be accessed by the loaded content's code. This sandbox bridge lets content from a non-application domain have controlled access to scripts in the application sandbox, and vice versa. The sandbox bridge serves as a gateway between the sandboxes, providing explicit interaction between application and non-application security sandboxes.

Implementation
`public function get parentSandboxBridge():Object`
`public function set parentSandboxBridge(value:Object):void`
Throws

| `SecurityError` — Only content in the Loader object's sandbox can set this property.

Related API Elements

childSandboxBridge

### sameDomain

property

`sameDomain:Boolean` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Expresses the domain relationship between the loader and the content: `true` if they have the same origin domain; `false` otherwise.

Implementation
`public function get sameDomain():Boolean`
Throws

| `Error` — Thrown if the file is not downloaded sufficiently to retrieve the requested information.

### sharedEvents

property

`sharedEvents:EventDispatcher` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

An EventDispatcher instance that can be used to exchange events across security boundaries. Even when the Loader object and the loaded content originate from security domains that do not trust one another, both can access `sharedEvents` and send and receive events via this object.

Implementation
`public function get sharedEvents():EventDispatcher`

### swfVersion

property

`swfVersion:uint` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The file format version of the loaded SWF file. The file format is specified using the enumerations in the SWFVersion class, such as `SWFVersion.FLASH7` and `SWFVersion.FLASH9`.

Implementation
`public function get swfVersion():uint`
Throws

| `Error` — If the file is not downloaded sufficiently to retrieve the requested information.
| `Error` — If the file is not a SWF file.

Related API Elements

flash.display.SWFVersion

### uncaughtErrorEvents

property

`uncaughtErrorEvents:UncaughtErrorEvents` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2

An object that dispatches an `uncaughtError` event when an unhandled error occurs in code in this LoaderInfo object's SWF file. An uncaught error happens when an error is thrown outside of any `try..catch` blocks or when an ErrorEvent object is dispatched with no registered listeners.

For example, if in a try block, there is an event dispatcher that calls its event handler, the catch block doesn't catch the error if thrown in event handler. Any error thrown thereafter can be caught by listening to `LoaderInfo.uncaughtErrorEvents`

This property is created when the SWF associated with this LoaderInfo has finished loading. Until then the `uncaughtErrorEvents` property is `null`. In an ActionScript-only project, you can access this property during or after the execution of the constructor function of the main class of the SWF file. For a Flex project, the `uncaughtErrorEvents` property is available after the `applicationComplete` event is dispatched.

Implementation
`public function get uncaughtErrorEvents():UncaughtErrorEvents`

Related API Elements

UncaughtErrorEvent
Loader.uncaughtErrorEvents
Example ( How to use this example )
The following example demonstrates the use of an uncaught error event handler to detect uncaught errors in an ActionScript project. The example defines an `uncaughtError` event handler to detect uncaught errors. It also provides a button that, when clicked, throws an error that is caught by the uncaught error handler.

In the constructor, the code registers a listener for the `uncaughtError` event dispatched by the LoaderInfo object's `uncaughtErrorEvents` property.

In the `uncaughtErrorHandler()` method, the code checks the data type of the `error` property and responds accordingly.

Copy

    package
    {
        import flash.display.Sprite;
        import flash.events.ErrorEvent;
        import flash.events.MouseEvent;
        import flash.events.UncaughtErrorEvent;

        public class UncaughtErrorEventExample extends Sprite
        {
            public function UncaughtErrorEventExample()
            {
                loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);

                drawUI();
            }

            private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
            {
                if (event.error is Error)
                {
                    var error:Error = event.error as Error;
                    // do something with the error
                }
                else if (event.error is ErrorEvent)
                {
                    var errorEvent:ErrorEvent = event.error as ErrorEvent;
                    // do something with the error
                }
                else
                {
                    // a non-Error, non-ErrorEvent type was thrown and uncaught
                }
            }

            private function drawUI():void
            {
                var btn:Sprite = new Sprite();
                btn.graphics.clear();
                btn.graphics.beginFill(0xFFCC00);
                btn.graphics.drawRect(0, 0, 100, 50);
                btn.graphics.endFill();
                addChild(btn);
                btn.addEventListener(MouseEvent.CLICK, clickHandler);
            }

            private function clickHandler(event:MouseEvent):void
            {
                throw new Error("Gak!");
            }
        }
    }

The following example is the Flex equivalent of the previous example, using an MXML document instead of an ActionScript class as the root content.
Copy

    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                           xmlns:s="library://ns.adobe.com/flex/spark"
                           xmlns:mx="library://ns.adobe.com/flex/halo"
                           applicationComplete="applicationCompleteHandler();">

        <fx:Script>
            <![CDATA[
                import flash.events.ErrorEvent;
                import flash.events.MouseEvent;
                import flash.events.UncaughtErrorEvent;

                private function applicationCompleteHandler():void
                {
                    loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);
                }

                private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
                {
                    if (event.error is Error)
                    {
                        var error:Error = event.error as Error;
                        // do something with the error
                    }
                    else if (event.error is ErrorEvent)
                    {
                        var errorEvent:ErrorEvent = event.error as ErrorEvent;
                        // do something with the error
                    }
                    else
                    {
                        // a non-Error, non-ErrorEvent type was thrown and uncaught
                    }
                }

                private function clickHandler(event:MouseEvent):void
                {
                    throw new Error("Gak!");
                }
            ]]>
        </fx:Script>

        <s:Button label="Cause Error" click="clickHandler(event);"/>
    </s:WindowedApplication>

### url

property

`url:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The URL of the media being loaded.

Before the first `progress` event is dispatched by this LoaderInfo object's corresponding Loader object, the value of the `url` property might reflect only the initial URL specified in the call to the `load()` method of the Loader object. After the first `progress` event, the `url` property reflects the media's final URL, after any redirects and relative URLs are resolved.

In some cases, the value of the `url` property is truncated; see the `isURLInaccessible` property for details.

Implementation
`public function get url():String`

Related API Elements

isURLInaccessible
flash.display.Loader.load()

### width

property

`width:int` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The nominal width of the loaded content. This value might differ from the actual width at which the content is displayed, since the loaded content or its parent display objects might be scaled.

Implementation
`public function get width():int`
Throws

| `Error` — If the file is not downloaded sufficiently to retrieve the requested information.

Method Detail

### getLoaderInfoByDefinition

()
method

`public static function getLoaderInfoByDefinition(object:Object):LoaderInfo`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Returns the LoaderInfo object associated with a SWF file defined as an object.

Parameters

| `object:Object` — The object for which you want to get an associated LoaderInfo object.

Returns

| `LoaderInfo` — The associated LoaderInfo object. Returns `null` when called in non-debugger builds (or when debugging is not enabled) or if the referenced `object` does not have an associated LoaderInfo object (such as some objects used by the AIR runtime).

Throws

| `SecurityError` — The caller is not running in the local trusted sandbox.

Event Detail

### complete

Event

Event Object Type: `flash.events.Event`
property Event.type = `flash.events.Event.COMPLETE`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Dispatched when data has loaded successfully. In other words, it is dispatched when all the content has been downloaded and the loading has finished. The `complete` event is always dispatched after the `init` event. The `init` event is dispatched when the object is ready to access, though the content may still be downloading.

The `Event.COMPLETE` constant defines the value of the `type` property of a `complete` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`target` | The network object that has completed loading.

Related API Elements

Loader.load()

### httpStatus

Event

Event Object Type: `flash.events.HTTPStatusEvent`
property HTTPStatusEvent.type = `flash.events.HTTPStatusEvent.HTTP_STATUS`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Dispatched when a network request is made over HTTP and an HTTP status code can be detected.

The `HTTPStatusEvent.HTTP_STATUS` constant defines the value of the `type` property of a `httpStatus` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`status` | The HTTP status code returned by the server.
`target` | The network object receiving an HTTP status code.

Related API Elements

Loader.load()

### init

Event

Event Object Type: `flash.events.Event`
property Event.type = `flash.events.Event.INIT`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Dispatched when the properties and methods of a loaded SWF file are accessible and ready for use. The content, however, can still be downloading. A LoaderInfo object dispatches the `init` event when the following conditions exist:

- All properties and methods associated with the loaded object and those associated with the LoaderInfo object are accessible.
- The constructors for all child objects have completed.
- All ActionScript code in the first frame of the loaded SWF's main timeline has been executed.

For example, an `Event.INIT` is dispatched when the first frame of a movie or animation is loaded. The movie is then accessible and can be added to the display list. The complete movie, however, can take longer to download. The `Event.COMPLETE` is only dispatched once the full movie is loaded.

The `init` event always precedes the `complete` event.

The `Event.INIT` constant defines the value of the `type` property of an `init` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`target` | The LoaderInfo object associated with the SWF file being loaded.

Related API Elements

Loader.load()

### ioError

Event

Event Object Type: `flash.events.IOErrorEvent`
property IOErrorEvent.type = `flash.events.IOErrorEvent.IO_ERROR`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Dispatched when an input or output error occurs that causes a load operation to fail.

Defines the value of the `type` property of an `ioError` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`errorID` | A reference number associated with the specific error (AIR only).
`target` | The network object experiencing the input/output error.
`text` | Text to be displayed as an error message.

Related API Elements

Loader.load()

### open

Event

Event Object Type: `flash.events.Event`
property Event.type = `flash.events.Event.OPEN`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Dispatched when a load operation starts.

The `Event.OPEN` constant defines the value of the `type` property of an `open` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`target` | The network object that has opened a connection.

Related API Elements

Loader.load()

### progress

Event

Event Object Type: `flash.events.ProgressEvent`
property ProgressEvent.type = `flash.events.ProgressEvent.PROGRESS`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Dispatched when data is received as the download operation progresses.

Defines the value of the `type` property of a `progress` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`bytesLoaded` | The number of items or bytes loaded at the time the listener processes the event.
`bytesTotal` | The total number of items or bytes that ultimately will be loaded if the loading process succeeds.
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`target` | The object reporting progress.

Related API Elements

Loader.load()

### unload

Event

Event Object Type: `flash.events.Event`
property Event.type = `flash.events.Event.UNLOAD`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Dispatched by a LoaderInfo object whenever a loaded object is removed by using the `unload()` method of the Loader object, or when a second load is performed by the same Loader object and the original content is removed prior to the load beginning.

The `Event.UNLOAD` constant defines the value of the `type` property of an `unload` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`target` | The LoaderInfo object associated with the SWF file being unloaded or replaced.

Related API Elements

Loader.load()
Loader.unload()
Examples How to use this example
LoaderInfoExample.as
The following example uses the LoaderInfoExample class to display an image on the stage. This is accomplished by performing the following steps:

1. A property `url` is created, which is the location and name of the image.
2. The class constructor creates a Loader object named `loader`.
3. The `loader` object instantiates an event listener to ensure that the image loads properly.
4. The constructor creates a new instance of a URLRequest object, `request`, with `url` passed so that the file name and location are known.
5. The `request` object is then passed to the `load()` method of the `loader` object, which loads the image onto the display list.

Important: This example requires that you add a file named Image.gif in the same directory as the compiled SWF file. Use an image that has an area that fits within the dimensions of the main SWF file.

Copy

    package {
        import flash.display.Loader;
        import flash.display.LoaderInfo;
        import flash.display.Sprite;
        import flash.events.*;
        import flash.net.URLRequest;

        public class LoaderInfoExample extends Sprite {
            private var url:String = "Image.gif";

            public function LoaderInfoExample() {
                var loader:Loader = new Loader();
                loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
                loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
                var request:URLRequest = new URLRequest(url);
                loader.load(request);
                addChild(loader);
            }

            private function initHandler(event:Event):void {
                var loader:Loader = Loader(event.target.loader);
                var info:LoaderInfo = LoaderInfo(loader.contentLoaderInfo);
                trace("initHandler: loaderURL=" + info.loaderURL + " url=" + info.url);
            }

            private function ioErrorHandler(event:IOErrorEvent):void {
                trace("ioErrorHandler: " + event);
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00