API Documentation for: 0.4.1
Show:

TagLoader Class

Extends AbstractLoader
Defined in: TagLoader:39
Module: PreloadJS

A preloader that loads items using a tag-based approach. HTML audio and images can use this loader to load content cross-domain without security errors, whereas anything loaded with XHR has potential issues with cross- domain requests.

Note for audio tags, TagLoader relies on the canPlayThrough event, which fires when the buffer is full enough to play the audio all the way through at the current download speed. This completely preloads most sound effects, however longer tracks like background audio will only load a portion before the event is fired. Most browsers (all excluding Chrome) will continue to preload once this is fired, so this is considered good enough for most cases.

Constructor

TagLoader

(
  • item
)

Defined in TagLoader:39

Parameters:

  • item Object

    The item to load. Please see loadFile for information on load items.

Methods

_clean

() private

Defined in _clean:305

Clean up the loader. This stops any timers and removes references to prevent errant callbacks and clean up memory.

_dispatchEvent

(
  • eventObj
  • eventPhase
)
protected

Parameters:

_formatQueryString

(
  • data
  • [query]
)
private

Formats an object into a query string for either a POST or GET request.

Parameters:

  • data Object

    The data to convert to a query string.

  • [query] Array optional

    Existing name/value pairs to append on to this query.

_handleError

() private

Defined in _handleError:240

Handle an error event generated by the tag.

_handleLoad

(
  • [event]
)
private

Defined in _handleLoad:270

Handle a load (complete) event. This is called by tag callbacks, but also by readyStateChange and canPlayThrough events. Once loaded, the item is dispatched to the LoadQueue.

Parameters:

  • [event] Object optional

    A load event from a tag. This is sometimes called from other handlers without an event.

_handleReadyStateChange

() private

Handle the readyStateChange event from a tag. We sometimes need this in place of the onload event (mainly SCRIPT and LINK tags), but other cases may exist.

_handleStalled

() private

Defined in _handleStalled:230

Handle a stalled audio event. The main place we seem to get these is with HTMLAudio in Chrome when we try and playback audio that is already in a load, but not complete.

_handleTimeout

() private

Defined in _handleTimeout:217

Handle an audio timeout. Newer browsers get a callback from the tags, but older ones may require a setTimeout to handle it. The setTimeout is always running until a response is handled by the browser.

_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:

Boolean:

If the loader has been canceled.

_isCrossDomain

(
  • item
)
Boolean private

Parameters:

  • item Object

    A load item with a src property

Returns:

Boolean:

If the load item is loading from a different domain than the current location.

_isLocal

(
  • item
)
Boolean private

Inherited from AbstractLoader: _isLocal:405

Parameters:

  • item Object

    A load item with a src property

Returns:

Boolean:

If the load item is loading from the "file:" protocol. Assume that the host must be local as well.

_parsePath

(
  • path
)
Array protected

Inherited from AbstractLoader: _parsePath:321

Parse a file URI using the AbstractLoader/PATH_PATTERN RegExp pattern.

Parameters:

  • path String

    The file path to parse.

Returns:

Array:

The matched path contents. Please see the PATH_PATTERN property for details on the return value. This will return null if it does not match.

_parseURI

(
  • path
)
Array protected

Inherited from AbstractLoader: _parseURI:308

Parse a file URI using the FILE_PATTERN RegExp pattern.

Parameters:

  • path String

    The file path to parse.

Returns:

Array:

The matched file contents. Please see the FILE_PATTERN property for details on the return value. This will return null if it does not match.

_sendComplete

() protected

Dispatch a complete event. Please see the complete event for details on the event payload.

_sendError

(
  • event
)
protected

Inherited from AbstractLoader: _sendError:279

Dispatch an error event. Please see the error event for details on the event payload.

Parameters:

  • event Object

    The event object containing specific error properties.

_sendLoadStart

() protected

Dispatch a loadstart event. Please see the loadstart event for details on the event payload.

_sendProgress

(
  • value
)
protected

Dispatch a progress event. Please see the progress event for details on the event payload.

Parameters:

  • value Number | Object

    The progress of the loaded item, or an object containing loaded and total properties.

addEventListener

(
  • type
  • listener
  • [useCapture]
)
Function | Object

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 String

    The string type of the event.

  • listener Function | Object

    An object with a handleEvent method, or a function that will be called when the event is dispatched.

  • [useCapture] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

Returns:

Function | Object:

Returns the listener for chaining or assignment.

buildPath

(
  • src
  • [data]
)
String

Inherited from AbstractLoader: buildPath:355

Available since 0.3.1

A utility method that builds a file path using a source and a data object, and formats it into a new path. All of the loaders in PreloadJS use this method to compile paths when loading.

Parameters:

  • src String

    The source path to add values to.

  • [data] Object optional

    Object used to append values to this request as a query string. Existing parameters on the path will be preserved.

Returns:

String:

A formatted string that contains the path and the supplied parameters.

close

()

Inherited from AbstractLoader: close:221

Close the active queue. Closing a queue completely empties the queue, and prevents any remaining items from starting to download. Note that currently any active loads will remain open, and events may be processed.

To stop and restart a queue, use the setPaused method instead.

dispatchEvent

(
  • eventObj
  • [target]
)
Boolean

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:

  • eventObj Object | String | Event

    An object with a "type" property, or a string type. While a generic object will work, it is recommended to use a CreateJS Event instance. If a string is used, dispatchEvent will construct an Event instance with the specified type.

  • [target] Object optional

    The object to use as the target property of the event object. This will default to the dispatching object. This parameter is deprecated and will be removed.

Returns:

Boolean:

Returns the value of eventObj.defaultPrevented.

getResult

() HTMLImageElement | HTMLAudioElement | Object

Defined in getResult:116

Get the loaded content. This is usually an HTML tag or other tag-style object that has been fully loaded. If the loader is not complete, this will be null.

Returns:

HTMLImageElement | HTMLAudioElement | Object:

The loaded and parsed content.

hasEventListener

(
  • type
)
Boolean

Indicates whether there is at least one listener for the specified event type.

Parameters:

  • type String

    The string type of the event.

Returns:

Boolean:

Returns true if there is at least one listener for the specified event.

init

() private

Inherited from AbstractLoader: init:202

Initialize the loader. This is called by the constructor.

initialize

() protected

Initialization method.

load

()

Inherited from AbstractLoader: load:209

Begin loading the queued items. This method can be called when a LoadQueue is set up but not started immediately.

Example:

 var queue = new createjs.LoadQueue();
 queue.addEventListener("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]
)

Inherited from EventDispatcher: off:247

A shortcut to the removeEventListener method, with the same parameters and return value. This is a companion to the .on method.

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    The listener function or object.

  • [useCapture] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

on

(
  • type
  • listener
  • [scope]
  • [once=false]
  • [data]
  • [useCapture=false]
)
Function

Inherited from EventDispatcher: on:175

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 String

    The string type of the event.

  • listener Function | Object

    An object with a handleEvent method, or a function that will be called when the event is dispatched.

  • [scope] Object optional

    The 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 optional

    If true, the listener will remove itself after the first time it is triggered.

  • [data] optional

    Arbitrary data that will be included as the second parameter when the listener is called.

  • [useCapture=false] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

Returns:

Function:

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 optional

    The 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);

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    The listener function or object.

  • [useCapture] Boolean optional

    For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.

toString

() String

Inherited from EventDispatcher but overwritten in toString:418

Returns:

String:

a string representation of the instance.

willTrigger

(
  • type
)
Boolean

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 String

    The string type of the event.

Returns:

Boolean:

Returns true if there is at least one listener for the specified event.

Properties

_captureListeners

Object protected

_isAudio

Boolean protected

Defined in _isAudio:81

Determines if the load item is an audio tag, since we take some specific approaches to properly load audio.

Default: false

_item

Object private

Inherited from AbstractLoader: _item:109

The item this loader represents. Note that this is null in a LoadQueue, but will be available on loaders such as XHRLoader and TagLoader.

_listeners

Object protected

_loadTimeout

Number private

Defined in _loadTimeout:63

The timeout that is fired if nothing is loaded after a certain delay. See the LoadQueue.LOAD_TIMEOUT for the timeout duration.

_tag

HTMLAudioElement | Object private

Defined in _tag:90

The HTML tag or JavaScript object this loader uses to preload content. Note that a tag may be a custom object that matches the API of an HTML tag (load method, onload callback). For example, flash audio from SoundJS passes in a custom object to handle preloading for Flash audio and WebAudio.

_tagCompleteProxy

Function private

A reference to a bound function, which we need in order to properly remove the event handler when the load completes.

canceled

Boolean

Inherited from AbstractLoader: canceled:82

Determine if the loader was canceled. Canceled loads will not fire complete events. Note that LoadQueue queues should be closed using close instead of setting this property.

Default: false

loaded

Boolean

Inherited from AbstractLoader: loaded:73

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

onComplete

Function deprecated

Inherited from AbstractLoader: onComplete:176

Deprecated: Use addEventListener and the "complete" event.

REMOVED. Use addEventListener and the complete event.

onError

Function deprecated

Inherited from AbstractLoader: onError:183

Deprecated: Use addEventListener and the "error" event.

REMOVED. Use addEventListener and the error event.

onLoadStart

Function deprecated

Inherited from AbstractLoader: onLoadStart:169

Deprecated: Use addEventListener and the "loadstart" event.

REMOVED. Use addEventListener and the loadstart event.

onProgress

Function deprecated

Inherited from AbstractLoader: onProgress:162

Deprecated: Use addEventListener and the "progress" event.

REMOVED. Use addEventListener and the progress event.

progress

Number

Inherited from AbstractLoader: progress:92

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

Events

complete

Inherited from AbstractLoader: complete:139

Available since 0.3.0

The event that is fired when the entire queue has been loaded.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

error

Inherited from AbstractLoader: error:147

Available since 0.3.0

The event 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. There may be additional properties such as the error reason on event objects.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

  • [item] Object optional

    The item that was being loaded that caused the error. The item 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.

  • [error] String optional

    The error object or text.

loadstart

Inherited from AbstractLoader: loadstart:131

Available since 0.3.1

The event that is fired when a load starts.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

progress

Inherited from AbstractLoader: progress:119

Available since 0.3.0

The event that is fired when the overall progress changes.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

  • loaded Number

    The amount that has been loaded so far. Note that this is may just be a percentage of 1, since file sizes can not be determined before a load is kicked off, if at all.

  • total Number

    The total number of bytes. Note that this may just be 1.

  • progress Number

    The ratio that has been loaded between 0 and 1.