AbstractLoader Class
The base loader, which defines all the generic methods, properties, and events. All loaders extend this class, including the LoadQueue.
Item Index
Methods
- _createRequest
- _createTag
- _dispatchEvent
- _isCanceled
- _sendComplete
- _sendError
- _sendLoadStart
- _sendProgress
- addEventListener
- buildPath deprecated
- cancel
- destroy
- dispatchEvent
- getItem
- getLoadedItems
- getResult
- getTag
- handleEvent
- hasEventListener
- initialize deprecated
- load
- off
- on
- removeAllEventListeners
- removeEventListener
- setTag
- toString
- willTrigger
Properties
- _captureListeners
- _item
- _listeners
- _loadItems
- _preferXHR
- _rawResult
- _result
- _tag
- BINARY static
- canceled
- CSS static
- GET static
- IMAGE static
- JAVASCRIPT static
- JSON static
- JSONP static
- loaded
- MANIFEST static
- POST static
- progress
- resultFormatter
- resultFormatter
- SOUND static
- SPRITESHEET static
- SVG static
- TEXT static
- type
- VIDEO static
- XML static
Methods
_createRequest
()
protected
Create an internal request used for loading. By default, an XHRRequest or TagRequest is created, depending on the value of PreferXHR:property. Other loaders may override this to use different request types, such as ManifestLoader, which uses JSONLoader or JSONPLoader under the hood.
_createTag
-
src
Create the HTML tag used for loading. This method does nothing by default, and needs to be implemented by loaders that require tag loading.
Parameters:
-
src
StringThe tag source
Returns:
The tag that was created
_dispatchEvent
-
eventObj
-
eventPhase
_isCanceled
()
Boolean
protected
Determine if the load has been canceled. This is important to ensure that method calls or asynchronous events do not cause issues after the queue has been cleaned up.
Returns:
If the loader has been canceled.
_sendError
-
event
Parameters:
-
event
ErrorEventThe event object containing specific error properties.
_sendLoadStart
()
protected
addEventListener
-
type
-
listener
-
[useCapture]
Adds the specified event listener. Note that adding multiple listeners to the same function will result in multiple callbacks getting fired.
Example
displayObject.addEventListener("click", handleClick);
function handleClick(event) {
// Click happened.
}
Parameters:
-
type
StringThe string type of the event.
-
listener
Function | ObjectAn object with a handleEvent method, or a function that will be called when the event is dispatched.
-
[useCapture]
Boolean optionalFor events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.
buildPath
()
deprecated
protected
cancel
()
Close the the item. This will stop any open requests (although downloads using HTML tags may still continue in the background), but events will not longer be dispatched.
destroy
()
Clean up the loader.
dispatchEvent
-
eventObj
Dispatches the specified event to all listeners.
Example
// Use a string event
this.dispatchEvent("complete");
// Use an Event instance
var event = new createjs.Event("progress");
this.dispatchEvent(event);
Parameters:
Returns:
Returns the value of eventObj.defaultPrevented.
getItem
()
Object
Get a reference to the manifest item that is loaded by this loader. In some cases this will be the value that was passed into LoadQueue using loadFile or loadManifest. However if only a String path was passed in, then it will be a LoadItem.
Returns:
The manifest item that this loader is responsible for loading.
getLoadedItems
()
Array
Get any items loaded internally by the loader. The enables loaders such as ManifestLoader to expose items it loads internally.
Returns:
A list of the items loaded by the loader.
getResult
-
[raw=false]
Get a reference to the content that was loaded by the loader (only available after the Complete:event event is dispatched.
Parameters:
-
[raw=false]
Boolean optionalDetermines if the returned result will be the formatted content, or the raw loaded data (if it exists).
Returns:
getTag
()
Object
Return the tag
this object creates or uses for loading.
Returns:
The tag instance
handleEvent
-
event
Handle events from internal requests. By default, loaders will handle, and redispatch the necessary events, but this method can be overridden for custom behaviours.
Parameters:
-
event
EventThe event that the internal request dispatches.
hasEventListener
-
type
Indicates whether there is at least one listener for the specified event type.
Parameters:
-
type
StringThe string type of the event.
Returns:
Returns true if there is at least one listener for the specified event.
initialize
()
deprecated
protected
load
()
Begin loading the item. This method is required when using a loader by itself.
Example
var queue = new createjs.LoadQueue();
queue.on("complete", handleComplete);
queue.loadManifest(fileArray, false); // Note the 2nd argument that tells the queue not to start loading yet
queue.load();
off
-
type
-
listener
-
[useCapture]
A shortcut to the removeEventListener method, with the same parameters and return value. This is a companion to the .on method.
on
-
type
-
listener
-
[scope]
-
[once=false]
-
[data]
-
[useCapture=false]
A shortcut method for using addEventListener that makes it easier to specify an execution scope, have a listener only run once, associate arbitrary data with the listener, and remove the listener.
This method works by creating an anonymous wrapper function and subscribing it with addEventListener. The created anonymous function is returned for use with .removeEventListener (or .off).
Example
var listener = myBtn.on("click", handleClick, null, false, {count:3});
function handleClick(evt, data) {
data.count -= 1;
console.log(this == myBtn); // true - scope defaults to the dispatcher
if (data.count == 0) {
alert("clicked 3 times!");
myBtn.off("click", listener);
// alternately: evt.remove();
}
}
Parameters:
-
type
StringThe string type of the event.
-
listener
Function | ObjectAn object with a handleEvent method, or a function that will be called when the event is dispatched.
-
[scope]
Object optionalThe scope to execute the listener in. Defaults to the dispatcher/currentTarget for function listeners, and to the listener itself for object listeners (ie. using handleEvent).
-
[once=false]
Boolean optionalIf true, the listener will remove itself after the first time it is triggered.
-
[data]
optionalArbitrary data that will be included as the second parameter when the listener is called.
-
[useCapture=false]
Boolean optionalFor events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.
Returns:
Returns the anonymous function that was created and assigned as the listener. This is needed to remove the listener later using .removeEventListener.
removeAllEventListeners
-
[type]
Removes all listeners for the specified type, or all listeners of all types.
Example
// Remove all listeners
displayObject.removeAllEventListeners();
// Remove all click listeners
displayObject.removeAllEventListeners("click");
Parameters:
-
[type]
String optionalThe string type of the event. If omitted, all listeners for all types will be removed.
removeEventListener
-
type
-
listener
-
[useCapture]
Removes the specified event listener.
Important Note: that you must pass the exact function reference used when the event was added. If a proxy function, or function closure is used as the callback, the proxy/closure reference must be used - a new proxy or closure will not work.
Example
displayObject.removeEventListener("click", handleClick);
willTrigger
-
type
Indicates whether there is at least one listener for the specified event type on this object or any of its ancestors (parent, parent's parent, etc). A return value of true indicates that if a bubbling event of the specified type is dispatched from this object, it will trigger at least one listener.
This is similar to hasEventListener, but it searches the entire event flow for a listener, not just this object.
Parameters:
-
type
StringThe string type of the event.
Returns:
Returns true
if there is at least one listener for the specified event.
Properties
_item
LoadItem | Object
private
The LoadItem this loader represents. Note that this is null in a LoadQueue, but will be available on loaders such as XMLLoader and ImageLoader.
_loadItems
Null
protected
A list of items that loaders load behind the scenes. This does not include the main item the loader is responsible for loading. Examples of loaders that have sub-items include the SpriteSheetLoader and ManifestLoader.
_preferXHR
Boolean
private
Whether the loader will try and load content using XHR (true) or HTML tags (false).
_rawResult
Object | String
private
The loaded result before it is formatted. The rawResult is accessed using the GetResult
method, and passing true
.
_result
Object | String
private
The loaded result after it is formatted by an optional ResultFormatter. For items that are not formatted, this will be the same as the _rawResult:property. The result is accessed using the GetResult method.
_tag
Object
private
An HTML tag (or similar) that a loader may use to load HTML content, such as images, scripts, etc.
BINARY
String
static
The preload type for generic binary types. Note that images are loaded as binary files when using XHR.
Default: binary
canceled
Boolean
readonly
Determine if the loader was canceled. Canceled loads will not fire complete events. Note that this property is readonly, so LoadQueue queues should be closed using close instead.
Default: false
CSS
String
static
The preload type for css files. CSS files are loaded using a <link> when loaded with XHR, or a <style> tag when loaded with tags.
Default: css
IMAGE
String
static
The preload type for image files, usually png, gif, or jpg/jpeg. Images are loaded into an <image> tag.
Default: image
JAVASCRIPT
String
static
The preload type for javascript files, usually with the "js" file extension. JavaScript files are loaded into a <script> tag.
Since version 0.4.1+, due to how tag-loaded scripts work, all JavaScript files are automatically injected into the body of the document to maintain parity between XHR and tag-loaded scripts. In version 0.4.0 and earlier, only tag-loaded scripts are injected.
Default: javascript
JSON
String
static
The preload type for json files, usually with the "json" file extension. JSON data is loaded and parsed into a
JavaScript object. Note that if a callback
is present on the load item, the file will be loaded with JSONP,
no matter what the LoadQueue/preferXHR:property property is set to, and the JSON
must contain a matching wrapper function.
Default: json
JSONP
String
static
The preload type for jsonp files, usually with the "json" file extension. JSON data is loaded and parsed into a JavaScript object. You are required to pass a callback parameter that matches the function wrapper in the JSON. Note that JSONP will always be used if there is a callback present, no matter what the LoadQueue/preferXHR:property property is set to.
Default: jsonp
loaded
Boolean
If the loader has completed loading. This provides a quick check, but also ensures that the different approaches
used for loading do not pile up resulting in more than one complete
Event.
Default: false
MANIFEST
String
static
The preload type for json-based manifest files, usually with the "json" file extension. The JSON data is loaded and parsed into a JavaScript object. PreloadJS will then look for a "manifest" property in the JSON, which is an Array of files to load, following the same format as the loadManifest method. If a "callback" is specified on the manifest object, then it will be loaded using JSONP instead, regardless of what the LoadQueue/preferXHR:property property is set to.
Default: manifest
progress
Number
The current load progress (percentage) for this item. This will be a number between 0 and 1.
Example
var queue = new createjs.LoadQueue();
queue.loadFile("largeImage.png");
queue.on("progress", function() {
console.log("Progress:", queue.progress, event.progress);
});
Default: 0
resultFormatter
Function
A formatter function that converts the loaded raw result into the final result. For example, the JSONLoader converts a string of text into a JavaScript object. Not all loaders have a resultFormatter, and this property can be overridden to provide custom formatting.
Optionally, a resultFormatter can return a callback function in cases where the formatting needs to be asynchronous, such as creating a new image.
Default: null
resultFormatter
Function
A custom result formatter function, which is called just before a request dispatches its complete event. Most
loader types already have an internal formatter, but this can be user-overridden for custom formatting. The
formatted result will be available on Loaders using GetResult, and passing true
.
SOUND
String
static
The preload type for sound files, usually mp3, ogg, or wav. When loading via tags, audio is loaded into an <audio> tag.
Default: sound
SPRITESHEET
String
static
The preload type for SpriteSheet files. SpriteSheet files are JSON files that contain string image paths.
Default: spritesheet
TEXT
String
static
The preload type for text files, which is also the default file type if the type can not be determined. Text is loaded as raw text.
Default: text
type
String
The type of item this loader will load. See AbstractLoader for a full list of supported types.
VIDEO
String
static
The preload type for video files, usually mp4, ts, or ogg. When loading via tags, video is loaded into an <video> tag.
Default: video
Events
complete
The Event that is fired when the entire queue has been loaded.
error
The ErrorEvent that is fired when the loader encounters an error. If the error was encountered by a file, the event will contain the item that caused the error. Prior to version 0.6.0, this was just a regular Event.
fileerror
The Event that is fired when the loader encounters an internal file load error. This enables loaders to maintain internal queues, and surface file load errors.
fileload
The Event that is fired when a loader internally loads a file. This enables loaders such as ManifestLoader to maintain internal LoadQueues and notify when they have loaded a file. The LoadQueue class dispatches a slightly different fileload event.
Event Payload:
-
target
ObjectThe object that dispatched the event.
-
type
StringThe event type ("fileload")
-
item
ObjectThe file item which was specified in the loadFile or loadManifest call. If only a string path or tag was specified, the object will contain that value as a
src
property. -
result
ObjectThe HTML tag or parsed result of the loaded item.
-
rawResult
ObjectThe unprocessed result, usually the raw text or binary data before it is converted to a usable object.
initialize
The Event that is fired after the internal request is created, but before a load. This allows updates to the loader for specific loading needs, such as binary or XHR image loading.
Event Payload:
-
target
ObjectThe object that dispatched the event.
-
type
StringThe event type ("initialize")
-
loader
AbstractLoaderThe loader that has been initialized.
loadstart
The Event that is fired when a load starts.
progress
The ProgressEvent that is fired when the overall progress changes. Prior to version 0.6.0, this was just a regular Event.