ActionScript 3.0 Language and Components Reference | All Packages | All Classes | Language Elements | Index | Appendixes | Conventions | Frames No Frames |
Loader

Package | flash.display
Class | public class Loader
Inheritance | Loader DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

The Loader class is used to load SWF files or image (JPG, PNG, or GIF) files. Use the `load()` method to initiate loading. The loaded display object is added as a child of the Loader object.

Use the URLLoader class to load text or binary data.

The Loader class overrides the following methods that it inherits, because a Loader object can only have one child display object—the display object that it loads. Calling the following methods throws an exception: `addChild()`, `addChildAt()`, `removeChild()`, `removeChildAt()`, and `setChildIndex()`. To remove a loaded display object, you must remove the Loader object from its parent DisplayObjectContainer child array.

Note: The ActionScript 2.0 MovieClipLoader and LoadVars classes are not used in ActionScript 3.0. The Loader and URLLoader classes replace them.

When you use the Loader class, consider the Flash Player security model:

- You can load content from any accessible source.
- Loading is not allowed if the calling SWF file is in a network sandbox and the file to be loaded is local.
- If the loaded content is a SWF file written with ActionScript 3.0, it cannot be cross-scripted by a SWF file in another security sandbox unless that cross-scripting arrangement was approved through a call to the `System.allowDomain()` or the `System.allowInsecureDomain()` method in the loaded content file.
- If the loaded content is an AVM1 SWF file (written using ActionScript 1.0 or 2.0), it cannot be cross-scripted by an AVM2 SWF file (written using ActionScript 3.0). However, you can communicate between the two SWF files by using the LocalConnection class.
- If the loaded content is an image, its data cannot be accessed by a SWF file outside of the security sandbox, unless the domain of that SWF file was included in a URL policy file at the origin domain of the image.
- Movie clips in the local-with-file-system sandbox cannot script movie clips in the local-with-networking sandbox, and the reverse is also prevented.

For more information, see the following:

- The security chapter in the Programming ActionScript 3.0 book and the latest comments on LiveDocs
- The Flash Player Developer Center Topic: Security

When loading a SWF file from an untrusted source (such as a domain other than that of the Loader object's root SWF file), you may want to define a mask for the Loader object, to prevent the loaded content (which is a child of the Loader object) from drawing to portions of the Stage outside of that mask, as shown in the following code:

    import flash.display.*;
     import flash.net.URLRequest;
     var rect:Shape = new Shape();
     rect.graphics.beginFill(0xFFFFFF);
     rect.graphics.drawRect(0, 0, 100, 100);
     rect.graphics.endFill();
     addChild(rect);
     var ldr:Loader = new Loader();
     ldr.mask = rect;
     var url:String = "http://www.unknown.example.com/content.swf";
     var urlReq:URLRequest = new URLRequest(url);
     ldr.load(urlReq);
     addChild(ldr);

View the examples

See also

flash.display.LoaderInfo
flash.net.URLLoader
flash.display.DisplayObject
Core display classes
Loading display objects

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | accessibilityProperties : AccessibilityProperties The current accessibility options for this display object. | DisplayObject
|  | alpha : Number Indicates the alpha transparency value of the object specified. | DisplayObject
|  | blendMode : String A value from the BlendMode class that specifies which blend mode to use. | DisplayObject
|  | cacheAsBitmap : Boolean If set to true, Flash Player caches an internal bitmap representation of the display object. | DisplayObject
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | content : DisplayObject [read-only] Contains the root display object of the SWF file or image (JPG, PNG, or GIF) file that was loaded by using the load() or loadBytes() methods. | Loader
|  | contentLoaderInfo : LoaderInfo [read-only] Returns a LoaderInfo object corresponding to the object being loaded. | Loader
|  | contextMenu : ContextMenu Specifies the context menu associated with this object. | InteractiveObject
|  | doubleClickEnabled : Boolean Specifies whether the object receives doubleClick events. | InteractiveObject
|  | filters : Array An indexed array that contains each filter object currently associated with the display object. | DisplayObject
|  | focusRect : Object Specifies whether this object displays a focus rectangle. | InteractiveObject
|  | height : Number Indicates the height of the display object, in pixels. | DisplayObject
|  | loaderInfo : LoaderInfo [read-only] Returns a LoaderInfo object containing information about loading the file to which this display object belongs. | DisplayObject
|  | mask : DisplayObject The calling display object is masked by the specified mask object. | DisplayObject
|  | mouseChildren : Boolean Determines whether or not the children of the object are mouse enabled. | DisplayObjectContainer
|  | mouseEnabled : Boolean Specifies whether this object receives mouse messages. | InteractiveObject
|  | mouseX : Number [read-only] Indicates the x coordinate of the mouse position, in pixels. | DisplayObject
|  | mouseY : Number [read-only] Indicates the y coordinate of the mouse position, in pixels. | DisplayObject
|  | name : String Indicates the instance name of the DisplayObject. | DisplayObject
|  | numChildren : int [read-only] Returns the number of children of this object. | DisplayObjectContainer
|  | opaqueBackground : Object Specifies whether the display object is opaque with a certain background color. | DisplayObject
|  | parent : DisplayObjectContainer [read-only] Indicates the DisplayObjectContainer object that contains this display object. | DisplayObject
|  | prototype : Object [static] A reference to the prototype object of a class or function object. | Object
|  | root : DisplayObject [read-only] For a display object in a loaded SWF file, the root property is the top-most display object in the portion of the display list's tree structure represented by that SWF file. | DisplayObject
|  | rotation : Number Indicates the rotation of the DisplayObject instance, in degrees, from its original orientation. | DisplayObject
|  | scale9Grid : Rectangle The current scaling grid that is in effect. | DisplayObject
|  | scaleX : Number Indicates the horizontal scale (percentage) of the object as applied from the registration point. | DisplayObject
|  | scaleY : Number Indicates the vertical scale (percentage) of an object as applied from the registration point of the object. | DisplayObject
|  | scrollRect : Rectangle The scroll rectangle bounds of the display object. | DisplayObject
|  | stage : Stage [read-only] The Stage of the display object. | DisplayObject
|  | tabChildren : Boolean Determines whether the children of the object are tab enabled. | DisplayObjectContainer
|  | tabEnabled : Boolean Specifies whether this object is in the tab order. | InteractiveObject
|  | tabIndex : int Specifies the tab ordering of objects in a SWF file. | InteractiveObject
|  | textSnapshot : TextSnapshot [read-only] Returns a TextSnapshot object for this DisplayObjectContainer instance. | DisplayObjectContainer
|  | transform : Transform An object with properties pertaining to a display object's matrix, color transform, and pixel bounds. | DisplayObject
|  | visible : Boolean Whether or not the display object is visible. | DisplayObject
|  | width : Number Indicates the width of the display object, in pixels. | DisplayObject
|  | x : Number Indicates the x coordinate of the DisplayObject instance relative to the local coordinates of the parent DisplayObjectContainer. | DisplayObject
|  | y : Number Indicates the y coordinate of the DisplayObject instance relative to the local coordinates of the parent DisplayObjectContainer. | DisplayObject

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | Loader() Creates a Loader object that you can use to load files, such as SWF, JPEG, GIF, or PNG files. | Loader
|  | addChild(child:DisplayObject):DisplayObject Adds a child DisplayObject instance to this DisplayObjectContainer instance. | DisplayObjectContainer
|  | addChildAt(child:DisplayObject, index:int):DisplayObject Adds a child DisplayObject instance to this DisplayObjectContainer instance. | DisplayObjectContainer
|  | 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
|  | areInaccessibleObjectsUnderPoint(point:Point):Boolean Indicates whether the security restrictions would cause any display objects to be omitted from the list returned by calling the DisplayObjectContainer.getObjectsUnderPoint() method with the specified point point. | DisplayObjectContainer
|  | close():void Cancels a load() method operation that is currently in progress for the Loader instance. | Loader
|  | contains(child:DisplayObject):Boolean Determines whether the specified display object is a child of the DisplayObjectContainer instance or the instance itself. | DisplayObjectContainer
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | getBounds(targetCoordinateSpace:DisplayObject):Rectangle Returns a rectangle that defines the area of the display object relative to the coordinate system of the targetCoordinateSpace object. | DisplayObject
|  | getChildAt(index:int):DisplayObject Returns the child display object instance that exists at the specified index. | DisplayObjectContainer
|  | getChildByName(name:String):DisplayObject Returns the child display object that exists with the specified name. | DisplayObjectContainer
|  | getChildIndex(child:DisplayObject):int Returns the index position of a child DisplayObject instance. | DisplayObjectContainer
|  | getObjectsUnderPoint(point:Point):Array Returns an array of objects that lie under the specified point and are children (or grandchildren, and so on) of this DisplayObjectContainer instance. | DisplayObjectContainer
|  | getRect(targetCoordinateSpace:DisplayObject):Rectangle Returns a rectangle that defines the boundary of the display object, based on the coordinate system defined by the targetCoordinateSpace parameter, excluding any strokes on shapes. | DisplayObject
|  | globalToLocal(point:Point):Point Converts the point object from the Stage (global) coordinates to the display object's (local) coordinates. | DisplayObject
|  | haltAndUnload():void | Loader
|  | 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
|  | hitTestObject(obj:DisplayObject):Boolean Evaluates the display object to see if it overlaps or intersects with the obj display object. | DisplayObject
|  | hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean Evaluates the display object to see if it overlaps or intersects with the point specified by the x and y parameters. | DisplayObject
|  | 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
|  | load(request:URLRequest, context:LoaderContext = null):void Loads a SWF, JPEG, progressive JPEG, unanimated GIF, or PNG file into an object that is a child of this Loader object. | Loader
|  | loadBytes(bytes:ByteArray, context:LoaderContext = null):void Loads from binary data stored in a ByteArray object. | Loader
|  | localToGlobal(point:Point):Point Converts the point object from the display object's (local) coordinates to the Stage (global) coordinates. | DisplayObject
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeChild(child:DisplayObject):DisplayObject Removes the specified child DisplayObject instance from the child list of the DisplayObjectContainer instance. | DisplayObjectContainer
|  | removeChildAt(index:int):DisplayObject Removes a child DisplayObject from the specified index position in the child list of the DisplayObjectContainer. | DisplayObjectContainer
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | setChildIndex(child:DisplayObject, index:int):void Changes the position of an existing child in the display object container. | DisplayObjectContainer
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | swapChildren(child1:DisplayObject, child2:DisplayObject):void Swaps the z-order (front-to-back order) of the two specified child objects. | DisplayObjectContainer
|  | swapChildrenAt(index1:int, index2:int):void Swaps the z-order (front-to-back order) of the child objects at the two specified index positions in the child list. | DisplayObjectContainer
|  | toString():String Returns the string representation of the specified object. | Object
|  | unload():void Removes a child of this Loader object that was loaded by using the load() method. | Loader
|  | 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
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | Dispatched when Flash Player gains operating system focus and becomes active. | EventDispatcher
|  | added | Dispatched when a display object is added to the display list. | DisplayObject
|  | addedToStage | Dispatched when a display object is added to the on stage display list, either directly or through the addition of a sub tree in which the display object is contained. | DisplayObject
|  | clear | Dispatched when the user selects 'Clear' (or 'Delete') from the text context menu. | InteractiveObject
|  | click | Dispatched when a user presses and releases the main button of the user's pointing device over the same InteractiveObject. | InteractiveObject
|  | copy | Dispatched when the user activates the platform specific accelerator key combination for a copy operation or selects 'Copy' from the text context menu. | InteractiveObject
|  | cut | Dispatched when the user activates the platform specific accelerator key combination for a cut operation or selects 'Cut' from the text context menu. | InteractiveObject
|  | deactivate | Dispatched when Flash Player loses operating system focus and is becoming inactive. | EventDispatcher
|  | doubleClick | Dispatched when a user presses and releases the main button of a pointing device twice in rapid succession over the same InteractiveObject when that object's doubleClickEnabled flag is set to true. | InteractiveObject
|  | enterFrame | Dispatched when the playhead is entering a new frame. | DisplayObject
|  | exitFrame | Dispatched when the playhead is exiting the current frame. | DisplayObject
|  | focusIn | Dispatched after a display object gains focus. | InteractiveObject
|  | focusOut | Dispatched after a display object loses focus. | InteractiveObject
|  | frameConstructed | Dispatched after the constructors of frame display objects have run but before frame scripts have run. | DisplayObject
|  | keyDown | Dispatched when the user presses a key. | InteractiveObject
|  | keyFocusChange | Dispatched when the user attempts to change focus by using keyboard navigation. | InteractiveObject
|  | keyUp | Dispatched when the user releases a key. | InteractiveObject
|  | mouseDown | Dispatched when a user presses the pointing device button over an InteractiveObject instance in the Flash Player window. | InteractiveObject
|  | mouseFocusChange | Dispatched when the user attempts to change focus by using a pointer device. | InteractiveObject
|  | mouseMove | Dispatched when a user moves the pointing device while it is over an InteractiveObject. | InteractiveObject
|  | mouseOut | Dispatched when the user moves a pointing device away from an InteractiveObject instance. | InteractiveObject
|  | mouseOver | Dispatched when the user moves a pointing device over an InteractiveObject instance in the Flash Player window. | InteractiveObject
|  | mouseUp | Dispatched when a user releases the pointing device button over an InteractiveObject instance in the Flash Player window. | InteractiveObject
|  | mouseWheel | Dispatched when a mouse wheel is spun over an InteractiveObject instance in the Flash Player window. | InteractiveObject
|  | paste | Dispatched when the user activates the platform specific accelerator key combination for a paste operation or selects 'Paste' from the text context menu. | InteractiveObject
|  | removed | Dispatched when a display object is about to be removed from the display list. | DisplayObject
|  | removedFromStage | Dispatched when a display object is about to be removed from the display list, either directly or through the removal of a sub tree in which the display object is contained. | DisplayObject
|  | render | Dispatched when the display list is about to be updated and rendered. | DisplayObject
|  | rollOut | Dispatched when the user moves a pointing device away from an InteractiveObject instance. | InteractiveObject
|  | rollOver | Dispatched when the user moves a pointing device over an InteractiveObject instance. | InteractiveObject
|  | selectAll | Dispatched when the user activates the platform specific accelerator key combination for a select all operation or selects 'Select All' from the text context menu. | InteractiveObject
|  | tabChildrenChange | Dispatched when the value of the object's tabChildren flag changes. | InteractiveObject
|  | tabEnabledChange | Dispatched when the object's tabEnabled flag changes. | InteractiveObject
|  | tabIndexChange | Dispatched when the value of the object's tabIndex property changes. | InteractiveObject

Property Detail

content | property

`content:DisplayObject` [read-only]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Contains the root display object of the SWF file or image (JPG, PNG, or GIF) file that was loaded by using the `load()` or `loadBytes()` methods.

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

| `SecurityError` — The loaded SWF file or image file belongs to a security sandbox to which you do not have access. For a loaded SWF file, you can avoid this situation by having the file call the `Security.allowDomain()` method or by having the loading file specify a `loaderContext` parameter with its `securityDomain` property set to `SecurityDomain.currentDomain` when you call the `load()` or `loadBytes()` method.

See also

flash.display.DisplayObject
flash.display.Loader.load()

contentLoaderInfo | property |

`contentLoaderInfo:LoaderInfo` [read-only]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Returns a LoaderInfo object corresponding to the object being loaded. LoaderInfo objects are shared between the Loader object and the loaded content object. The LoaderInfo object supplies loading progress information and statistics about the loaded file.

Events related to the load are dispatched by the LoaderInfo object referenced by the `contentLoaderInfo` property of the Loader object. The `contentLoaderInfo` property is set to a valid LoaderInfo object, even before the content is loaded, so that you can add event listeners to the object prior to the load.

Implementation
`public function get contentLoaderInfo():LoaderInfo`

See also

flash.display.LoaderInfo
Constructor Detail

Loader | () | Constructor

`public function Loader()`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Creates a Loader object that you can use to load files, such as SWF, JPEG, GIF, or PNG files. Call the `load()` method to load the asset as a child of the Loader instance. You can then add the Loader object to the display list (for instance, by using the `addChild()` method of a DisplayObjectContainer instance). The asset appears on the Stage as it loads.

You can also use a Loader instance "offlist," that is without adding it to a display object container on the display list. In this mode, the Loader instance might be used to load a SWF file that contains additional modules of an application.

To detect when the SWF file is finished loading, you can use the events of the LoaderInfo object associated with the `contentLoaderInfo` property of the Loader object. At that point, the code in the module SWF file can be executed to initialize and start the module. In the offlist mode, a Loader instance might also be used to load a SWF file that contains components or media assets. Again, you can use the LoaderInfo object event notifications to detect when the components is finished loading. At that point, the application can start using the components and media assets in the library of the SWF file by instantiating the ActionScript 3.0 classes that represent those components and assets.

To determine the status of a Loader object, monitor the following events that the LoaderInfo object associated with the `contentLoaderInfo` property of the Loader object:

- The `open` event is dispatched when loading begins.
- The `ioError` or `securityError` event is dispatched if the file cannot be loaded or if an error occured during the load process.
- The `progress` event fires continuously while the file is being loaded.
- The `complete` event is dispatched when a file completes downloading, but before the loaded movie clip's methods and properties are available.
- The `init` event is dispatched after the properties and methods of the loaded SWF file are accessible, so you can begin manipulating the loaded SWF file. This event is dispatched before the `complete` handler. In streaming SWF files, the `init` event can occur significantly earlier than the `complete` event. For most purposes, use the `init` handler.

See also

flash.display.Loader.load()
flash.display.LoaderInfo
Method Detail

close | () | method

`public function close():void`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Cancels a `load()` method operation that is currently in progress for the Loader instance.

See also

flash.display.Loader.load()

haltAndUnload | () | method |

`flash10 function haltAndUnload():void`

load | () | method |

`public function load(request:URLRequest, context:LoaderContext = null):void`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Loads a SWF, JPEG, progressive JPEG, unanimated GIF, or PNG file into an object that is a child of this Loader object. If you load an animated GIF file, only the first frame is displayed. As the Loader object can contain only a single child, issuing a subsequent `load()` request terminates the previous request, if still pending, and commences a new load.

Note: The maximum supported dimensions of a loaded image file are 2880 x 2880 pixels.

A SWF file or image loaded into a Loader object inherits the position, rotation, and scale properties of the parent display objects of the Loader object.

Use the `unload()` method to remove movies or images loaded with this method, or to cancel a load operation that is in progress.

When you use the `load()` method, consider the Flash Player security model:

- You can load content from any accessible source.
- Loading is not allowed if the calling SWF file is in a network sandbox and the file to be loaded is local.
- If the loaded content is a SWF file, it cannot be scripted by a SWF file in another security sandbox unless that cross-scripting arrangement was approved through a call to the `Security.allowDomain()` method in the loaded content file.
- SWF files written in ActionScript 1.0 or 2.0, which are loaded as AVM1Movie objects, cannot cross-script SWF files written in ActionScript 3.0, which are loaded as Sprite or MovieClip objects. You can use the LocalConnection class to have these files communicate with each other.
- If the loaded content is an image, its data cannot be accessed by a SWF file outside of the security sandbox, unless the domain of that SWF file was included a URL policy file at the origin domain of the image.
- Movie clips in the local-with-file-system sandbox cannot cross-script movie clips in the local-with-networking sandbox, and the reverse is also prevented.
- You can prevent a SWF file from using this method by setting the `allowNetworking` parameter of the the `object` and `embed` tags in the HTML page that contains the SWF content.

For more information, see the following:

- The security chapter in the Programming ActionScript 3.0 book and the latest comments on LiveDocs
- The Flash Player Developer Center Topic: Security

Parameters

| `request:URLRequest` — The absolute or relative URL of the SWF, JPEG, GIF, or PNG file to be loaded. A relative path must be relative to the main SWF file. Absolute URLs must include the protocol reference, such as http:// or file:///. Filenames cannot include disk drive specifications.
| `context:LoaderContext` (default = `null`)`` — A LoaderContext object, which has properties that define the following: Whether or not Flash Player should check for the existence of a policy file upon loading the object The ApplicationDomain for the loaded object The SecurityDomain for the loaded object For complete details, see the description of the properties in the LoaderContext class.

Events

| `complete:`Event`` — Dispatched by the `contentLoaderInfo` object when the file has completed loading. The `complete` event is always dispatched after the `init` event.
| `httpStatus:`HTTPStatusEvent`` — Dispatched by the `contentLoaderInfo` object when a network request is made over HTTP and Flash Player can detect the HTTP status code.
| `init:`Event`` — Dispatched by the `contentLoaderInfo` object when the properties and methods of the loaded SWF file are accessible. The `init` event always precedes the `complete` event.
| `ioError:`IOErrorEvent`` — Dispatched by the `contentLoaderInfo` object when an input or output error occurs that causes a load operation to fail.
| `open:`Event`` — Dispatched by the `contentLoaderInfo` object when the loading operation starts.
| `progress:`ProgressEvent`` — Dispatched by the `contentLoaderInfo` object as data is received while load operation progresses.
| `securityError:`SecurityErrorEvent`` — Dispatched by the `contentLoaderInfo` object if a SWF file in the local-with-filesystem sandbox attempts to load content in the local-with-networking sandbox, or vice versa.
| `unload:`Event`` — Dispatched by the `contentLoaderInfo` object when a loaded object is removed.

Throws

| `SecurityError` — The value of `LoaderContext.securityDomain` must be either `null` or `SecurityDomain.currentDomain`. This reflects the fact that you can only place the loaded media in its natural security sandbox or your own (the latter requires a policy file).
| `SecurityError` — Local SWF files may not set LoaderContext.securityDomain to anything other than `null`. It is not permitted to import non-local media into a local sandbox, or to place other local media in anything other than its natural sandbox.
| `SecurityError` — If the `applicationDomain` or `securityDomain` properties of the `context` parameter are from a disallowed domain.
| `SecurityError` — If a local SWF file is attempting to use the `securityDomain` property of the `context` parameter.

See also

contentLoaderInfo
flash.net.URLRequest
flash.display.DisplayObject
flash.display.Loader.unload()
flash.display.LoaderInfo
flash.system.LoaderContext
Specifying loading context
Flash Player security

loadBytes | () | method |

`public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Loads from binary data stored in a ByteArray object.

Parameters

| `bytes:ByteArray` — A ByteArray object. The contents of the ByteArray can be any of the file formats supported by the Loader class: SWF, GIF, JPEG, or PNG.
| `context:LoaderContext` (default = `null`)`` — A LoaderContext object. Only the `applicationDomain` property of the LoaderContext object applies; the `checkPolicyFile` and `securityDomain` properties of the LoaderContext object do not apply.

Throws

| `ArgumentError` — If the `length` property of the ByteArray object is not greater than 0.
| `IllegalOperationError` — If the `checkPolicyFile` or `securityDomain` property of the `context` parameter are non-null.
| `SecurityError` — If the provided `applicationDomain` property of the `context` property is from a disallowed domain.

See also

flash.utils.ByteArray
flash.system.LoaderContext.applicationDomain
Specifying loading context

unload | () | method |

`public function unload():void`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Removes a child of this Loader object that was loaded by using the `load()` method. The `property` of the associated LoaderInfo object is reset to `null`. The child is not necessarily destroyed because other objects might have references to it; however, it is no longer a child of the Loader object.

As a best practice, before you unload a child SWF file, you should explicitly close any streams in the child SWF file's objects, such as LocalConnection, NetConnection, NetStream, and Sound objects. Otherwise, audio in the child SWF file might continue to play, even though the child SWF file was unloaded. To close streams in the child SWF file, add an event listener to the child that listens for the `unload` event. When the parent calls `Loader.unload()`, the `unload` event is dispatched to the child. The following code shows how you might do this:

    function closeAllStreams(evt:Event) {
        myNetStream.close();
        mySound.close();
        myNetConnection.close();
        myLocalConnection.close();
    }

    myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);

See also

Loader.load()
flash.media.Sound.close()
flash.net.LocalConnection.close()
flash.net.NetConnection.close()
flash.net.NetStream.close()
delete operator
Examples How to use examples
LoaderExample.as
The following example uses the LoaderExample class to illustrate how various event listeners are used. This task is accomplished by performing the following steps:

1. A `url` property is created, which is the location and name of the image file
2. In the `LoaderExample` constructor, a new Loader object named `loader` is created, which is then passed to the `configureListeners()` method, described in step 3.
3. The constructor creates a new instance of a URLRequest object, `request`, with `url` passed so that the file name and location are known.
4. The `request` object is passed to the `loader` object's `load()` method, which loads the image onto the display list.
5. A `clickHandler` event listener is registered for the `click` event on the loader. After a mouse click, the loaded image is unloaded.
6. The `configureListeners()` method adds seven event listeners by using the following methods:
   - The `completeHandler()` method executes when the image finishes loading.
   - The `httpStatusHandler()` method executes if the image is not loaded locally and only if the network request is made available and the Flash Player can detect it.
   - The `initHandler()` method executes before the `completeHandler()` method and after the `progressHandler()` method. Generally, the `init` event is more useful when loading SWF files.
   - The `ioErrorHandler()` method executes if the image file is not available or not accessible.
   - The `openHandler()` method executes when the image file is first opened.
   - The `progressHandler()` method executes when the image file starts to load and again when the image is finished loading.
   - The `unLoadHandler()` method executes when the image is unloaded by using the `unload()` method when the user clicks the image.

Keep in mind the following requirements:

- This example requires that you place 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.
- Although this example makes use of all events available to the LoaderInfo object, most situations require only a subset. In particular, when loading only an image file, the `complete` event (and perhaps the `ioError` event) are sufficient when loading a local image.

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

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

            public function LoaderExample() {
                var loader:Loader = new Loader();
                configureListeners(loader.contentLoaderInfo);
                loader.addEventListener(MouseEvent.CLICK, clickHandler);

                var request:URLRequest = new URLRequest(url);
                loader.load(request);

                addChild(loader);
            }

            private function configureListeners(dispatcher:IEventDispatcher):void {
                dispatcher.addEventListener(Event.COMPLETE, completeHandler);
                dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
                dispatcher.addEventListener(Event.INIT, initHandler);
                dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
                dispatcher.addEventListener(Event.OPEN, openHandler);
                dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
                dispatcher.addEventListener(Event.UNLOAD, unLoadHandler);
            }

            private function completeHandler(event:Event):void {
                trace("completeHandler: " + event);
            }

            private function httpStatusHandler(event:HTTPStatusEvent):void {
                trace("httpStatusHandler: " + event);
            }

            private function initHandler(event:Event):void {
                trace("initHandler: " + event);
            }

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

            private function openHandler(event:Event):void {
                trace("openHandler: " + event);
            }

            private function progressHandler(event:ProgressEvent):void {
                trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
            }

            private function unLoadHandler(event:Event):void {
                trace("unLoadHandler: " + event);
            }

            private function clickHandler(event:MouseEvent):void {
                trace("clickHandler: " + event);
                var loader:Loader = Loader(event.target);
                loader.unload();
            }
        }
    }

Submit Feedback on LiveDocs
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Tue May 20 2008, 04:02 AM -07:00